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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: -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: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button {
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }
  [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 {
  max-width: 75rem;
  margin: 0 auto; }

.grid-container-padded {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  @media print, screen and (min-width: 40.0625em) {
    .grid-container-padded {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .grid-container-padded {
      padding-left: 0;
      padding-right: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  .small-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .small-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .small-margin-collapse > .medium-3 {
    width: 25%; }
  .small-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .small-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .small-margin-collapse > .medium-6 {
    width: 50%; }
  .small-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .small-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .small-margin-collapse > .medium-9 {
    width: 75%; }
  .small-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .small-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .small-margin-collapse > .medium-12 {
    width: 100%; }
  .small-margin-collapse > .large-1 {
    width: 8.33333%; }
  .small-margin-collapse > .large-2 {
    width: 16.66667%; }
  .small-margin-collapse > .large-3 {
    width: 25%; }
  .small-margin-collapse > .large-4 {
    width: 33.33333%; }
  .small-margin-collapse > .large-5 {
    width: 41.66667%; }
  .small-margin-collapse > .large-6 {
    width: 50%; }
  .small-margin-collapse > .large-7 {
    width: 58.33333%; }
  .small-margin-collapse > .large-8 {
    width: 66.66667%; }
  .small-margin-collapse > .large-9 {
    width: 75%; }
  .small-margin-collapse > .large-10 {
    width: 83.33333%; }
  .small-margin-collapse > .large-11 {
    width: 91.66667%; }
  .small-margin-collapse > .large-12 {
    width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-frame {
  width: 100vw;
  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; }

.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: 40.0625em) {
  .medium-grid-frame {
    width: 100vw;
    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; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

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

.grid-y.grid-frame {
  width: auto;
  height: 100vh;
  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; }

@media print, screen and (min-width: 40.0625em) {
  .grid-y.medium-grid-frame {
    width: auto;
    height: 100vh;
    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; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    height: 100vh;
    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; } }

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

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

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

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

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -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: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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

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

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

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

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

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

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

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

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

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

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

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

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

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

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

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

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

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

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

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

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

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

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

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

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

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

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

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40.0625em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-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: #1779ba;
    color: #fefefe; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.no-js .dropdown.menu ul {
  display: none; }

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

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

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

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

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

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

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

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

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

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

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

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

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

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

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

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

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

.position-left {
  top: 0;
  left: 0;
  width: 280px;
  height: 100%;
  -webkit-transform: translateX(-280px);
      -ms-transform: translateX(-280px);
          transform: translateX(-280px);
  overflow-y: auto; }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-280px);
        -ms-transform: translateX(-280px);
            transform: translateX(-280px); }
    .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(280px);
        -ms-transform: translateX(280px);
            transform: translateX(280px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  width: 280px;
  height: 100%;
  -webkit-transform: translateX(280px);
      -ms-transform: translateX(280px);
          transform: translateX(280px);
  overflow-y: auto; }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(280px);
        -ms-transform: translateX(280px);
            transform: translateX(280px); }
    .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(-280px);
        -ms-transform: translateX(-280px);
            transform: translateX(-280px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

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

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

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

@media print, screen and (min-width: 40.0625em) {
  .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: 280px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 280px; }
  .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: 280px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 280px; }
  .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: 280px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 280px; }
  .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: 280px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 280px; } }

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

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

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

table.hover thead tr:hover {
  background-color: #f3f3f3; }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.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 {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas {
      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; }

/**** TABLE OF CONTENTS ****

00. VARIABLES
0. ACCESSIBILTY TOOLBAR STYLES
1. PRELOADER STYLES
2. GENERAL STYLES
3. HEADER STYLES
  3a. Header Option One Styles
  3b. Header Option Two Styles
  3c. Header Option Three Styles
  3d. Header Option Four Styles
  3e. Mobile Off-Canvas Menu Styles
  3f. Mobile Top Bar Menu Styles
  3g. Sticky Header Styles
  3h. Header Overrides

4. HOME PAGE STYLES

5. INTERNAL PAGE STYLES
  5a. Breadcrumbs Styles
  5b. Page Title and Title Bar Styles
  5c. Default Page Template Styles
  5d. Full Width Page Template Styles
  5e. Post Navigation Footer Styles
  5f. Left Sidebar Page Template Styles
  5g. Sidebar Styles
  5h. Social Sharing Shortcode Styles
  5i. Gallery Shortcode Styles
  5j. Pagination Styles
  5k. Gravity Form Styles

6. BLOG PAGE AND SINGLE BLOG POST STYLES
  6a. Blog Loop Shortcode Styles
  6b. Comments Section Styles
  6c. AJAX Blog Loop Shortcode Styles

7. PORTFOLIO STYLES

8. SERVICES STYLES

9. STAFF STYLES

10. 404 PAGE STYLES

11. FOOTER STYLES

** END TABLE OF CONTENTS **/
/**** 00. VARIABLES ****/
@font-face {
  font-family: "gloss-bloom";
  src: url("/wp-content/themes/allonsy2/src/assets/fonts/Gloss_And_Bloom.ttf"); }

/**** 0. ACCESSIBILTY TOOLBAR STYLES ****/
.screen-reader-shortcut {
  position: absolute;
  top: -624.9375rem; }
  .screen-reader-shortcut:focus {
    left: 6px;
    top: 7px;
    height: auto;
    width: auto;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 23px 14px;
    background: #f1f1f1;
    color: #0073aa;
    z-index: 100000;
    line-height: normal;
    text-decoration: none;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); }

.tooltip {
  background: #fef3a1;
  border-radius: 0.1875rem;
  border: 0.0625rem solid #2c2b79;
  color: #000000;
  font-size: 0.875rem;
  font-weight: 700;
  max-width: 13.75rem;
  padding: 0.375rem 0.625rem;
  width: auto; }
  .tooltip.right:before {
    border: inset 0.375rem !important;
    border-color: transparent #fef3a1 transparent transparent !important;
    z-index: 10; }
  .tooltip.right:after {
    border: inset 0.5rem !important;
    border-color: transparent #2c2b79 transparent transparent !important;
    content: '';
    display: block;
    height: 0;
    left: auto;
    position: absolute;
    right: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    z-index: 1; }

div#a11y-toolbar {
  border: 0.0625rem solid #5c5b5b;
  border-radius: 0 0.25rem 0.25rem 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1002; }
  div#a11y-toolbar div#a11y-fontsize button, div#a11y-toolbar div#a11y-contrast button {
    background: rgba(255, 255, 255, 0.85);
    border-left: 0;
    cursor: pointer;
    font-size: 1.375rem;
    padding: 0.625rem 0.375rem;
    width: 100%;
    transition: all 0.2s ease-out; }
    div#a11y-toolbar div#a11y-fontsize button:hover, div#a11y-toolbar div#a11y-fontsize button:focus, div#a11y-toolbar div#a11y-contrast button:hover, div#a11y-toolbar div#a11y-contrast button:focus {
      background: #FFFFFF; }
    div#a11y-toolbar div#a11y-fontsize button.a11y-fontsize, div#a11y-toolbar div#a11y-contrast button.a11y-fontsize {
      border-radius: 0 0.25rem 0 0;
      border-bottom: 0.0625rem solid #5c5b5b; }
    div#a11y-toolbar div#a11y-fontsize button.a11y-contrast, div#a11y-toolbar div#a11y-contrast button.a11y-contrast {
      border-radius: 0 0 0.25rem 0; }
    div#a11y-toolbar div#a11y-fontsize button.a11y-active, div#a11y-toolbar div#a11y-contrast button.a11y-active {
      background: #5c5b5b;
      color: #FFFFFF; }
      div#a11y-toolbar div#a11y-fontsize button.a11y-active.a11y-fontsize, div#a11y-toolbar div#a11y-contrast button.a11y-active.a11y-fontsize {
        border-bottom: 0.0625rem solid #f2f2f2 !important; }
    div#a11y-toolbar div#a11y-fontsize button span[data-tooltip], div#a11y-toolbar div#a11y-contrast button span[data-tooltip] {
      border: 0;
      cursor: pointer;
      display: block;
      text-decoration: none; }
  div#a11y-toolbar.a11y-left {
    border-left: 0; }
    @media only screen and (max-width: 40em) {
      div#a11y-toolbar.a11y-left {
        bottom: 0.9375rem;
        top: auto;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; }
        div#a11y-toolbar.a11y-left.backtop-left {
          bottom: 4.6875rem; } }
  div#a11y-toolbar.a11y-right {
    border-radius: 0.25rem 0 0 0.25rem;
    border-right: 0;
    right: 0; }
    @media only screen and (max-width: 40em) {
      div#a11y-toolbar.a11y-right {
        bottom: 0.9375rem;
        top: auto;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; }
        div#a11y-toolbar.a11y-right.backtop-right {
          bottom: 4.6875rem; } }
    div#a11y-toolbar.a11y-right div#a11y-fontsize button.a11y-fontsize, div#a11y-toolbar.a11y-right div#a11y-contrast button.a11y-fontsize {
      border-radius: 0.25rem 0 0 0; }
    div#a11y-toolbar.a11y-right div#a11y-fontsize button.a11y-contrast, div#a11y-toolbar.a11y-right div#a11y-contrast button.a11y-contrast {
      border-radius: 0; }

/**** TOGGLE FONTSIZE STYLES ****/
html.a11y-fontsize .bs-btn, html.a11y-fontsize .button,
html.a11y-fontsize header#masthead .alt-nav-wrapper .alt-nav-my-cart a,
html.a11y-fontsize .top-bar-social ul li.custom-button a,
html.a11y-fontsize nav.off-canvas ul.social-media-wrapper li.custom-button a,
html.a11y-fontsize nav.off-canvas .alt-nav-my-cart a {
  font-size: 1.25rem !important; }

html.a11y-fontsize p, html.a11y-fontsize a, html.a11y-fontsize li, html.a11y-fontsize span, html.a11y-fontsize time, html.a11y-fontsize strong, html.a11y-fontsize em, html.a11y-fontsize code {
  font-size: 1.25rem; }

html.a11y-fontsize h2, html.a11y-fontsize h2 span, html.a11y-fontsize h2 a {
  font-size: 2.125rem !important; }

html.a11y-fontsize h3, html.a11y-fontsize h3 span, html.a11y-fontsize h3 a,
html.a11y-fontsize body.woocommerce ul.products > li.product > a .woocommerce-loop-product__title, html.a11y-fontsize body.woocommerce-page ul.products > li.product > a .woocommerce-loop-product__title, html.a11y-fontsize div.woocommerce ul.products > li.product > a .woocommerce-loop-product__title {
  font-size: 1.875rem !important; }

html.a11y-fontsize h4, html.a11y-fontsize h4 span, html.a11y-fontsize h4 a,
html.a11y-fontsize h5, html.a11y-fontsize h5 span, html.a11y-fontsize h5 a,
html.a11y-fontsize h6, html.a11y-fontsize h6 span, html.a11y-fontsize h6 a {
  font-size: 1.625rem !important; }

html.a11y-fontsize nav.off-canvas .menu > li > a,
html.a11y-fontsize header#masthead .menu > li > a {
  font-size: 1.5rem !important;
  letter-spacing: -0.0625rem; }

html.a11y-fontsize header#masthead .site-title-bar.title-bar button.menu-icon span {
  font-size: 0.625rem !important; }

html.a11y-fontsize .breadcrumbs-wrapper #breadcrumbs li,
html.a11y-fontsize .breadcrumbs-wrapper #breadcrumbs li a,
html.a11y-fontsize body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb, html.a11y-fontsize body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb,
html.a11y-fontsize body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, html.a11y-fontsize body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, html.a11y-fontsize div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator,
html.a11y-fontsize body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, html.a11y-fontsize body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, html.a11y-fontsize div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a {
  font-size: 1.125rem; }

html.a11y-fontsize .entry-content figure.wp-caption figcaption.wp-caption-text {
  font-size: 1.25rem; }

html.a11y-fontsize label,
html.a11y-fontsize .gform_wrapper .top_label .gfield_label {
  font-size: 1.25rem;
  line-height: 1.2; }

html.a11y-fontsize .gform_wrapper form .gform_body li.gfield .ginput_complex input + label {
  font-size: 1rem !important;
  line-height: 1; }

html.a11y-fontsize h1.entry-title {
  font-size: 2.5rem !important; }

html.a11y-fontsize aside.sidebar .widget h6 {
  font-size: 1.5rem !important; }

html.a11y-fontsize aside.sidebar .widget li, html.a11y-fontsize aside.sidebar .widget li a {
  font-size: 1.375rem !important;
  line-height: 1.4; }

html.a11y-fontsize #footer-container .pre-footer h4 {
  font-size: 1.75rem !important; }

html.a11y-fontsize #footer-container .pre-footer p, html.a11y-fontsize #footer-container .pre-footer a, html.a11y-fontsize #footer-container .pre-footer li, html.a11y-fontsize #footer-container .pre-footer span, html.a11y-fontsize #footer-container .pre-footer time, html.a11y-fontsize #footer-container .pre-footer strong, html.a11y-fontsize #footer-container .pre-footer em {
  font-size: 1.25rem; }

html.a11y-fontsize #footer-container .footer-container h6 {
  font-size: 1.75rem !important; }

html.a11y-fontsize #footer-container .footer-container p, html.a11y-fontsize #footer-container .footer-container a, html.a11y-fontsize #footer-container .footer-container li, html.a11y-fontsize #footer-container .footer-container span, html.a11y-fontsize #footer-container .footer-container time, html.a11y-fontsize #footer-container .footer-container strong, html.a11y-fontsize #footer-container .footer-container em {
  font-size: 1.25rem; }

html.a11y-fontsize #footer-container #copyright p, html.a11y-fontsize #footer-container #copyright a, html.a11y-fontsize #footer-container #copyright li, html.a11y-fontsize #footer-container #copyright span, html.a11y-fontsize #footer-container #copyright time, html.a11y-fontsize #footer-container #copyright strong, html.a11y-fontsize #footer-container #copyright em {
  font-size: 1.25rem; }

html.a11y-contrast a, html.a11y-contrast abbr, html.a11y-contrast article, html.a11y-contrast aside, html.a11y-contrast basefont, html.a11y-contrast bdi, html.a11y-contrast big, html.a11y-contrast blink, html.a11y-contrast blockquote, html.a11y-contrast body, html.a11y-contrast button, html.a11y-contrast canvas, html.a11y-contrast caption, html.a11y-contrast center, html.a11y-contrast code, html.a11y-contrast col, html.a11y-contrast colgroup, html.a11y-contrast command, html.a11y-contrast dd, html.a11y-contrast details, html.a11y-contrast dir, html.a11y-contrast div, html.a11y-contrast dl, html.a11y-contrast dt, html.a11y-contrast embed, html.a11y-contrast fieldset, html.a11y-contrast figcaption, html.a11y-contrast figure, html.a11y-contrast font, html.a11y-contrast footer, html.a11y-contrast form, html.a11y-contrast header, html.a11y-contrast hgroup, html.a11y-contrast html, html.a11y-contrast iframe, html.a11y-contrast img, html.a11y-contrast input, html.a11y-contrast kbd, html.a11y-contrast label, html.a11y-contrast legend, html.a11y-contrast li, html.a11y-contrast listing, html.a11y-contrast mark, html.a11y-contrast marquee, html.a11y-contrast menu, html.a11y-contrast meter, html.a11y-contrast multicol, html.a11y-contrast nav, html.a11y-contrast nobr, html.a11y-contrast object, html.a11y-contrast ol, html.a11y-contrast option, html.a11y-contrast p, html.a11y-contrast plaintext, html.a11y-contrast pre, html.a11y-contrast progress, html.a11y-contrast q, html.a11y-contrast s, html.a11y-contrast section, html.a11y-contrast select, html.a11y-contrast small, html.a11y-contrast span, html.a11y-contrast strike, html.a11y-contrast sub, html.a11y-contrast summary, html.a11y-contrast sup, html.a11y-contrast table, html.a11y-contrast td, html.a11y-contrast textarea, html.a11y-contrast th, html.a11y-contrast time, html.a11y-contrast tr, html.a11y-contrast tt, html.a11y-contrast ul, html.a11y-contrast var, html.a11y-contrast xmp, html.a11y-contrast body.woocommerce ul.products > li.product > a span.price span.amount, html.a11y-contrast body.woocommerce-page ul.products > li.product > a span.price span.amount, html.a11y-contrast div.woocommerce ul.products > li.product > a span.price span.amount, html.a11y-contrast #main-container h2, html.a11y-contrast #main-container h2 span, html.a11y-contrast #main-container h3, html.a11y-contrast #main-container h3 span, html.a11y-contrast #main-container h4, html.a11y-contrast #main-container h4 span, html.a11y-contrast #main-container h5, html.a11y-contrast #main-container h5 span, html.a11y-contrast #main-container h6, html.a11y-contrast #main-container h6 span, html.a11y-contrast .pre-footer-container .pre-footer h1, html.a11y-contrast .pre-footer-container .pre-footer h2, html.a11y-contrast .pre-footer-container .pre-footer h3, html.a11y-contrast .pre-footer-container .pre-footer h4, html.a11y-contrast .pre-footer-container .pre-footer h5, html.a11y-contrast .pre-footer-container .pre-footer h6, html.a11y-contrast .footer-container .footer h1, html.a11y-contrast .footer-container .footer h2, html.a11y-contrast .footer-container .footer h3, html.a11y-contrast .footer-container .footer h4, html.a11y-contrast .footer-container .footer h5, html.a11y-contrast .footer-container .footer h6, html.a11y-contrast span.required, html.a11y-contrast body.woocommerce span.required, html.a11y-contrast body.woocommerce-page span.required, html.a11y-contrast div.woocommerce span.required {
  color: #F3F3F3 !important; }

html.a11y-contrast a {
  color: yellow !important; }

html.a11y-contrast #main-container a, html.a11y-contrast .pre-footer-container a, html.a11y-contrast .footer-container .footer a, html.a11y-contrast #copyright a {
  text-decoration: underline !important; }

html.a11y-contrast a, html.a11y-contrast abbr, html.a11y-contrast acronym, html.a11y-contrast address, html.a11y-contrast article, html.a11y-contrast aside, html.a11y-contrast b, html.a11y-contrast basefont, html.a11y-contrast bdi, html.a11y-contrast big, html.a11y-contrast blink, html.a11y-contrast blockquote, html.a11y-contrast body, html.a11y-contrast canvas, html.a11y-contrast caption, html.a11y-contrast center, html.a11y-contrast cite, html.a11y-contrast code, html.a11y-contrast col, html.a11y-contrast colgroup, html.a11y-contrast command, html.a11y-contrast dd, html.a11y-contrast details, html.a11y-contrast dfn, html.a11y-contrast dir, html.a11y-contrast div, html.a11y-contrast dl, html.a11y-contrast dt, html.a11y-contrast em, html.a11y-contrast embed, html.a11y-contrast fieldset, html.a11y-contrast figcaption, html.a11y-contrast figure, html.a11y-contrast font, html.a11y-contrast footer, html.a11y-contrast form, html.a11y-contrast h1, html.a11y-contrast h1 a, html.a11y-contrast h1 a b, html.a11y-contrast h1 abbr, html.a11y-contrast h1 center, html.a11y-contrast h1 span, html.a11y-contrast h2, html.a11y-contrast h2 a, html.a11y-contrast h2 a b, html.a11y-contrast h2 abbr, html.a11y-contrast h2 center, html.a11y-contrast h2 span, html.a11y-contrast h3, html.a11y-contrast h3 a, html.a11y-contrast h3 a b, html.a11y-contrast h3 abbr, html.a11y-contrast h3 center, html.a11y-contrast h3 span, html.a11y-contrast h4, html.a11y-contrast h4 a, html.a11y-contrast h4 a b, html.a11y-contrast h4 abbr, html.a11y-contrast h4 center, html.a11y-contrast h4 span, html.a11y-contrast h5, html.a11y-contrast h5 a, html.a11y-contrast h5 a b, html.a11y-contrast h5 abbr, html.a11y-contrast h5 center, html.a11y-contrast h5 span, html.a11y-contrast h6, html.a11y-contrast h6 a, html.a11y-contrast h6 a b, html.a11y-contrast h6 abbr, html.a11y-contrast h6 center, html.a11y-contrast h6 span, html.a11y-contrast header, html.a11y-contrast hgroup, html.a11y-contrast html, html.a11y-contrast i, html.a11y-contrast iframe, html.a11y-contrast input, html.a11y-contrast kbd, html.a11y-contrast label, html.a11y-contrast legend, html.a11y-contrast li, html.a11y-contrast listing, html.a11y-contrast mark, html.a11y-contrast marquee, html.a11y-contrast menu, html.a11y-contrast meter, html.a11y-contrast multicol, html.a11y-contrast nav, html.a11y-contrast nobr, html.a11y-contrast object, html.a11y-contrast ol, html.a11y-contrast option, html.a11y-contrast p, html.a11y-contrast plaintext, html.a11y-contrast pre, html.a11y-contrast progress, html.a11y-contrast q, html.a11y-contrast s, html.a11y-contrast section, html.a11y-contrast small, html.a11y-contrast span, html.a11y-contrast strike, html.a11y-contrast strong, html.a11y-contrast sub, html.a11y-contrast summary, html.a11y-contrast sup, html.a11y-contrast table, html.a11y-contrast td, html.a11y-contrast textarea, html.a11y-contrast th, html.a11y-contrast time, html.a11y-contrast tr, html.a11y-contrast tt, html.a11y-contrast u, html.a11y-contrast ul, html.a11y-contrast var, html.a11y-contrast xmp, html.a11y-contrast .bs-btn, html.a11y-contrast .button, html.a11y-contrast header#masthead .top-bar-social ul.social-media-wrapper li.custom-button a {
  background-color: #000000 !important;
  color: #F3F3F3 !important; }

html.a11y-contrast input[type="text"], html.a11y-contrast input[type="email"], html.a11y-contrast input[type="password"], html.a11y-contrast input[type="tel"], html.a11y-contrast textarea, html.a11y-contrast select {
  background-color: #FFFFFF !important;
  color: #000000 !important; }

html.a11y-contrast img {
  background: #808080 !important;
  background-color: #808080 !important;
  mix-blend-mode: unset !important; }

html.a11y-contrast body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active,
html.a11y-contrast body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a {
  background: #FFFFFF !important; }

html.a11y-contrast body.woocommerce span.onsale:before, html.a11y-contrast body.woocommerce-page span.onsale:before, html.a11y-contrast div.woocommerce span.onsale:before {
  border-top-color: #000000; }

html.a11y-contrast body.woocommerce span.onsale:after, html.a11y-contrast body.woocommerce-page span.onsale:after, html.a11y-contrast div.woocommerce span.onsale:after {
  border-bottom-color: #000000; }

/**** 1. PRELOADER STYLES ****/
#preloader {
  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: fixed;
  left: 0;
  top: 0;
  z-index: 9999999;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: #FFF; }
  #preloader .preloader-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  #preloader img {
    height: auto;
    max-width: 18.75rem;
    padding: 0;
    width: 100%; }
    @media only screen and (max-width: 30em) {
      #preloader img {
        max-width: 12.5rem; } }
  #preloader .letter-holder {
    display: inline-block;
    padding: 1rem; }
  #preloader .letter {
    float: left;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.5625rem;
    font-weight: 700;
    color: #2c2b79; }
  #preloader .animate-loading .letter {
    -webkit-animation-name: loadingF;
            animation-name: loadingF;
    -webkit-animation-duration: 1.6s;
            animation-duration: 1.6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-direction: linear;
            animation-direction: linear; }
  #preloader .l-1 {
    -webkit-animation-delay: .48s;
            animation-delay: .48s; }
  #preloader .l-2 {
    -webkit-animation-delay: .6s;
            animation-delay: .6s; }
  #preloader .l-3 {
    -webkit-animation-delay: .72s;
            animation-delay: .72s; }
  #preloader .l-4 {
    -webkit-animation-delay: .84s;
            animation-delay: .84s; }
  #preloader .l-5 {
    -webkit-animation-delay: .96s;
            animation-delay: .96s; }
  #preloader .l-6 {
    -webkit-animation-delay: 1.08s;
            animation-delay: 1.08s; }
  #preloader .l-7 {
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s; }
  #preloader .l-8 {
    -webkit-animation-delay: 1.32s;
            animation-delay: 1.32s; }
  #preloader .l-9 {
    -webkit-animation-delay: 1.44s;
            animation-delay: 1.44s; }
  #preloader .l-10 {
    -webkit-animation-delay: 1.56s;
            animation-delay: 1.56s; }

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

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

.admin-bar #preloader img {
  margin-top: 16px; }
  @media only screen and (max-width: 782px) {
    .admin-bar #preloader img {
      margin-top: 23px; } }

/**** 2. GENERAL STYLES ****/
* {
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
      hyphens: none !important; }

blockquote {
  border-left: 0.1875rem solid #ec2027;
  margin-bottom: 1.75rem;
  padding: 0 0 0 0.9375rem; }
  blockquote p {
    font-size: 1.625rem !important;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-style: italic;
    font-weight: 500; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="submit"],
textarea,
select,
button {
  -webkit-appearance: none !important;
  -moz-apperance: none !important; }

a[href^=tel] {
  text-decoration: none;
  -webkit-appearance: none !important;
  -moz-apperance: none !important; }

a, span:not(.fa):not(.fas):not(.far):not(.fab):not(.dashicons):not(.price):not(.select2-selection__placeholder):not(.select2-selection__rendered), time {
  font-family: inherit !important; }

p, li {
  font-family: "mrs-eaves", Georgia, "Times New Roman", serif; }

.pipe-separator {
  display: inline-block;
  font-size: 125%;
  line-height: 1.5625rem;
  margin: 0 0.375rem; }

button.menu-icon {
  -webkit-align-items: space-between;
      -ms-flex-align: space-between;
          align-items: space-between;
  background: none;
  color: #2c2b79;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 0.625rem;
  height: 2.125rem;
  letter-spacing: -.01rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left;
  text-transform: lowercase;
  width: 2.25rem; }
  button.menu-icon:before, button.menu-icon:after {
    display: none !important; }
  button.menu-icon span.menu-icon-bar {
    background: #2c2b79;
    border-radius: 0.5rem;
    height: 0.25rem;
    margin-bottom: 0.1875rem;
    opacity: 1;
    width: 100%;
    transition: all 0.2s ease-out; }
  button.menu-icon span.keep-together {
    line-height: 1; }
    button.menu-icon span.keep-together i {
      color: #2c2b79;
      display: inline;
      font-size: 0.6875rem;
      line-height: 0.7;
      position: relative;
      right: 0;
      top: 0.0625rem; }
  button.menu-icon.active span.menu-icon-bar {
    background: #ec2027; }
  button.menu-icon.active span.menu-icon-bar-1 {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  button.menu-icon.active span.menu-icon-bar-2 {
    opacity: 0; }
  button.menu-icon.active span.menu-icon-bar-3 {
    margin-top: -0.875rem;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  button.menu-icon.active span.keep-together {
    margin-top: 0.3125rem; }
  button.menu-icon:hover span.menu-icon-bar, button.menu-icon:focus span.menu-icon-bar {
    background: #ec2027; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  text-align: left; }
  h1.aligncenter, h2.aligncenter, h3.aligncenter, h4.aligncenter, h5.aligncenter, h6.aligncenter {
    text-align: center; }
  h1.alignleft, h2.alignleft, h3.alignleft, h4.alignleft, h5.alignleft, h6.alignleft {
    text-align: left; }
  h1.alignright, h2.alignright, h3.alignright, h4.alignright, h5.alignright, h6.alignright {
    text-align: right; }

h2, h2 span {
  font-size: 2rem !important; }

h3, h3 span {
  font-size: 1.75rem !important; }

h4, h4 span {
  font-size: 1.5rem !important; }

h5, h5 span {
  font-size: 1.25rem !important; }

h6, h6 span {
  font-size: 1.125rem !important; }

@media only screen and (max-width: 37.5em) {
  .alignright, .alignleft, .aligncenter, .alignnone {
    float: none;
    margin: 0 0 1.25rem 0;
    padding: 0;
    width: 100%; } }

@media only screen and (max-width: 37.5em) {
  figure.alignright img, figure.alignleft img, figure.aligncenter img, figure.alignnone img {
    height: auto;
    width: 100%; } }

.section-heading {
  font-family: "gloss-bloom", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-weight: 400;
  float: none !important;
  min-width: 10.625rem;
  padding-top: 0.6875rem !important; }
  .section-heading span.section-heading-inner {
    display: inline-block;
    font-family: inherit !important;
    font-weight: inherit;
    line-height: 1.5;
    margin-bottom: 1.25rem !important;
    min-width: 10.625rem;
    overflow: visible;
    padding: 0 0.9375rem 0.125rem !important;
    position: relative; }
    .section-heading span.section-heading-inner:after {
      background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/section-heading-underline.svg) no-repeat center top;
      background-size: 100%;
      bottom: 0;
      content: '';
      display: block;
      height: 0.375rem;
      left: 0;
      max-width: 10.625rem;
      position: absolute;
      width: 100%; }
  .section-heading.aligncenter span.section-heading-inner:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .section-heading.alignright span.section-heading-inner:after {
    left: 100%;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .section-heading.style2 span.section-heading-inner:after {
    background: url(//www.taylorsmarket.com/wp-content/uploads/2019/04/section-heading-underline-v2.svg) no-repeat center top;
    background-size: 100%;
    height: 0.375rem;
    max-width: 10.625rem;
    width: 100%; }

span.sub-title {
  display: block;
  font-size: 65%;
  margin: 0.625rem 0; }

.pl15 {
  padding-left: 0.9375rem !important; }

.pr15 {
  padding-right: 0.9375rem !important; }

.mt15 {
  margin-top: 0.9375rem !important; }

.mb15 {
  margin-bottom: 0.9375rem !important; }

.vcard abbr {
  border: 0 !important;
  text-decoration: none !important;
  cursor: text !important; }

.vcard .type {
  display: none; }

.off-canvas-content #masthead {
  margin: 0 auto; }

ul.pagination {
  display: inline-block;
  text-align: center;
  width: 100%; }
  ul.pagination li {
    display: inline-block; }

/* Foundation 6 Tabs Styles */
.tabs {
  border: 0;
  overflow: hidden; }
  .tabs .tabs-title {
    margin-right: 0.25rem; }
    @media only screen and (max-width: 47.9375em) {
      .tabs .tabs-title {
        margin-right: 0;
        width: 100%; } }
    .tabs .tabs-title a {
      background: #2c2b79;
      border: 0.0625rem solid #2c2b79;
      bottom: -0.0625rem;
      color: #FFFFFF;
      font-size: 1rem;
      font-weight: 700;
      padding: 0.75rem 0.9375rem;
      position: relative;
      text-decoration: none !important;
      transition: padding 0.2s ease-out; }
      @media only screen and (max-width: 47.9375em) {
        .tabs .tabs-title a {
          border-top: 0;
          border-bottom: 0.0625rem solid #f2f2f2;
          box-shadow: 0 -0.125rem 0.4375rem #001e61; } }
    .tabs .tabs-title.is-active a {
      background: #ec2027;
      border-bottom: 0.0625rem solid #f2f2f2;
      color: #FFFFFF; }
    @media only screen and (max-width: 47.9375em) {
      .tabs .tabs-title.is-active:first-child a {
        border-top: 0.0625rem solid #2c2b79; } }
    @media only screen and (max-width: 47.9375em) {
      .tabs .tabs-title.is-active:last-child a {
        border-bottom: 0.0625rem solid #2c2b79; } }

.tabs-content {
  background: #f2f2f2;
  border-top: 0.0625rem solid #2c2b79; }

.off-canvas-content #footer-container {
  max-width: none;
  margin: 0 auto;
  padding: 0; }

.hide-for-now {
  display: none;
  visibility: hidden;
  width: 1px;
  height: 1px;
  position: absolute;
  speak: none;
  left: -9999px; }

.the-tags {
  display: inline-block;
  width: 100%;
  margin: 2.5rem 0;
  text-align: left; }
  .the-tags a {
    display: inline-block;
    margin-bottom: 0.3125rem; }

.keep-together {
  display: inline-block !important; }

body.modal-active {
  overflow: hidden; }

form#searchform {
  border: 0.0625rem solid #2c2b79;
  border-radius: 0.1875rem;
  overflow: hidden;
  position: relative; }
  form#searchform:after {
    color: #FFFFFF;
    content: '\f002';
    cursor: pointer;
    display: block;
    font-family: "Font Awesome 5 Pro", 'fontawesome';
    font-size: 1.125rem;
    font-weight: 900;
    pointer-events: none;
    position: absolute;
    right: 0.5rem;
    top: 0.3125rem; }
  form#searchform .input-group {
    border-radius: 0.1875rem;
    margin: 0; }
    form#searchform .input-group .input-group-field {
      border: 0;
      box-shadow: none;
      line-height: 2.25rem;
      max-width: none;
      padding: 0 0.625rem; }
  form#searchform input#searchsubmit {
    background: #2c2b79 !important;
    text-indent: -9999px;
    min-width: 2.25rem;
    padding: 0;
    transition: all 0.2s ease-out; }
    form#searchform input#searchsubmit:hover, form#searchform input#searchsubmit:focus {
      background: #000000 !important; }

.bs-btn, .gform_footer input.gform_button, #respond .button, .tribe-events-button {
  background: #FFFFFF !important;
  border: 0.125rem solid #2c2b79 !important;
  border-radius: 6.25rem !important;
  color: #2c2b79 !important;
  display: inline-block;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.3125rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  padding: 0.4375rem 1.875rem !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.2s ease-out; }

.bs-btn.bs-btn-white {
  background: #FFFFFF;
  border: 0.125rem solid #FFFFFF;
  color: #2c2b79 !important; }

.bs-btn.bs-btn-white:hover,
.bs-btn.bs-btn-white:focus {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-red,
.gform_footer input.gform_button,
#respond .button,
.tribe-events-button {
  background: #ec2027 !important;
  border: 0.125rem solid #ec2027 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-red:hover,
.bs-btn.bs-btn-red:focus,
.gform_footer input.gform_button:hover,
.gform_footer input.gform_button:focus,
#respond .button:hover,
#respond .button:focus,
.tribe-events-button:hover,
.tribe-events-button:focus {
  background: #000000 !important;
  border: 0.125rem solid #000000 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-blue {
  background: #2c2b79 !important;
  border: 0.125rem solid #2c2b79 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-blue:hover,
.bs-btn.bs-btn-blue:focus {
  background: #000000 !important;
  border: 0.125rem solid #000000 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-clear {
  background: none !important;
  border: 0.125rem solid #2c2b79 !important;
  color: #171c38 !important; }

.bs-btn.bs-btn-clear:hover,
.bs-btn.bs-btn-clear:focus {
  background: #ec2027 !important;
  border: 0.125rem solid #ec2027 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-black {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF; }

.bs-btn.bs-btn-black:hover,
.bs-btn.bs-btn-black:focus {
  background: #FFFFFF;
  border: 0.125rem solid #000000;
  color: #000000; }

.bs-btn:hover,
.bs-btn:focus,
.gform_footer input.gform_button:hover,
.gform_footer input.gform_button:focus,
#respond .button:hover,
#respond .button:focus {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF; }

.bs-btns-wrapper {
  text-align: left;
  width: 100%; }
  @media only screen and (max-width: 37.5em) {
    .bs-btns-wrapper {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      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; } }
  .bs-btns-wrapper .bs-btn {
    display: inline-block;
    margin: 0 0.625rem 0.625rem 0; }
    @media only screen and (max-width: 37.5em) {
      .bs-btns-wrapper .bs-btn {
        margin: 0.625rem 0.3125rem 0;
        text-align: center;
        width: auto; } }

img.lazyload {
  min-height: 12.5rem;
  width: 100%; }

img.lazyloaded {
  opacity: 1; }

.max-width-sixteen-hundred {
  max-width: 100rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-fourteen-hundred {
  width: 100%;
  max-width: 87.5rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-twelve-hundred {
  width: 100%;
  max-width: 75rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-eleven-seventy {
  width: 100%;
  max-width: 73.125rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-nine-seventy {
  max-width: 60.625rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-eight-thirty {
  max-width: 51.875rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-eight-hundred {
  max-width: 50rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  line-height: 1.2;
  margin-bottom: 0.3125rem; }

.entry-content h2 + h3, .entry-content h3 + h4, .entry-content h4 + h5, .entry-content h5 + h6 {
  margin-top: 1rem; }

.entry-content figure.wp-caption figcaption.wp-caption-text {
  font-size: 0.875rem;
  font-style: italic;
  padding: 0.25rem; }

.entry-content ul.row {
  margin-left: 1.25rem; }

.entry-content ul.row li.columns {
  padding-left: 0; }

.entry-content ul.row .column:last-child:not(:first-child),
.entry-content ul.row .columns:last-child:not(:first-child),
.entry-content ol.row .column:last-child:not(:first-child),
.entry-content ol.row .columns:last-child:not(:first-child) {
  float: left; }

.entry-content p + ul, .entry-content p + ol {
  margin-top: -1.25rem; }

.readable-line-length {
  max-width: 50rem;
  margin: 0 auto; }

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

.readable-line-length.text-align-center {
  margin-right: auto !important;
  margin-left: auto !important;
  display: block; }

@media only screen and (max-width: 39.9375em) {
  html .main-wrap .main-content,
  html .main-wrap .sidebar {
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; } }

#copyright {
  padding: 0.625rem 0.9375rem;
  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 only screen and (max-width: 64em) {
    #copyright {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  #copyright p {
    margin-bottom: 0; }
  #copyright ul.social-media-wrapper {
    list-style: none;
    margin: 0;
    text-align: right; }
    @media only screen and (max-width: 64em) {
      #copyright ul.social-media-wrapper {
        text-align: center;
        width: 100%; } }
    #copyright ul.social-media-wrapper li {
      display: inline-block;
      font-size: 1.25rem;
      height: 2.25rem;
      line-height: 2.25rem;
      width: 2.25rem; }
  @media only screen and (max-width: 64em) {
    #copyright .small-12.medium-12.large-7 {
      margin-bottom: 0.625rem; }
      #copyright .small-12.medium-12.large-7 p {
        text-align: center; } }

#back-top {
  position: fixed;
  bottom: 0.9375rem;
  right: 0;
  z-index: 100; }
  #back-top a {
    color: #FFFFFF;
    display: inline-block;
    height: 2.5rem;
    line-height: 2.5rem;
    opacity: .75;
    text-align: center;
    width: 2.8125rem;
    transition: all 0.2s ease-out; }
    #back-top a:hover, #back-top a:focus {
      opacity: 1; }
  #back-top.backtop-right {
    left: auto;
    right: 0; }
    #back-top.backtop-right a {
      border-radius: 0.25rem 0 0 0.25rem; }
  #back-top.backtop-left {
    left: 0;
    right: auto; }
    #back-top.backtop-left a {
      border-radius: 0 0.25rem 0.25rem 0; }
  #back-top.backtop-center {
    bottom: 0;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    #back-top.backtop-center a {
      border-radius: 0.25rem 0.25rem 0 0;
      height: 1.875rem;
      line-height: 1.875rem; }

/**** 3. HEADER STYLES ****/
header#masthead {
  background-size: cover;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0.625rem 0 0.5rem;
  position: relative;
  transition: all 500ms ease-out;
  top: 0;
  width: 100%;
  z-index: 99; }
  @media only screen and (max-width: 64em) {
    header#masthead {
      padding: 0.625rem 0 0.5rem !important; } }
  header#masthead #header-inner {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    width: 100%; }
    @media only screen and (max-width: 40em) {
      header#masthead #header-inner {
        padding-left: 0;
        padding-right: 0; } }
  @media only screen and (max-width: 40em) {
    header#masthead .site-title-bar.title-bar {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  header#masthead nav.top-bar {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    background: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    header#masthead nav.top-bar .top-bar-top {
      margin-bottom: 1rem;
      width: 100%; }
      header#masthead nav.top-bar .top-bar-top .top-bar-title {
        margin-right: 0; }
    header#masthead nav.top-bar .top-bar-social {
      list-style: none;
      margin: 0 0 0.9375rem 0; }
      header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper {
        margin: 0; }
        header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li {
          display: inline-block;
          font-size: 1.5rem;
          height: 2.25rem;
          margin-left: 0.3125rem;
          position: relative;
          text-align: center;
          vertical-align: top;
          width: 2.25rem;
          z-index: 99; }
          header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper {
            font-size: 1.125rem; }
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform {
              right: 0;
              margin: 1.25rem 0 0 0 !important;
              position: absolute !important; }
              @media only screen and (max-width: 64em) {
                header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform {
                  left: 0;
                  right: auto; } }
              header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform.show {
                margin: 0.5rem 0 0 0 !important; }
                @media only screen and (max-width: 64em) {
                  header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform.show {
                    left: 0;
                    right: auto; } }
          header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.telephone {
            margin-left: 0;
            margin-bottom: 0.625rem;
            text-align: right;
            width: 100%; }
            @media only screen and (max-width: 64em) {
              header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.telephone {
                text-align: center; } }
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.telephone a {
              font-weight: 700; }
          header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.custom-button {
            width: auto !important; }
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.custom-button a {
              border-radius: 6.25rem;
              line-height: 1;
              padding: 0.625rem 0.9375rem;
              width: auto !important; }
          @media only screen and (max-width: 64em) {
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li {
              margin-left: 0; } }
        header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li a {
          display: block; }
    header#masthead nav.top-bar .above-menu-search-wrapper form#searchform,
    header#masthead nav.top-bar .inline-social-search-wrapper form#searchform,
    header#masthead nav.top-bar .menu-search-wrapper form#searchform {
      border: 0;
      border-radius: 0;
      display: block;
      margin: 2.5rem 0 0 0;
      max-width: none;
      opacity: 0;
      padding: 0.875rem;
      position: absolute;
      right: 0;
      top: 100%;
      visibility: hidden;
      width: 18.75rem;
      z-index: 1;
      transition: all 0.2s ease-out; }
      @media only screen and (max-width: 64em) {
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform,
        header#masthead nav.top-bar .inline-social-search-wrapper form#searchform,
        header#masthead nav.top-bar .menu-search-wrapper form#searchform {
          left: 0;
          right: auto; } }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform.show,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform.show,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform.show {
        margin: 0.625rem 0 0 0;
        opacity: 1;
        visibility: visible;
        z-index: 99; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:before,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform:before,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform:before {
        color: #FFFFFF;
        content: '\f002';
        cursor: pointer;
        font-family: fontawesome;
        right: 1.4375rem;
        pointer-events: none;
        position: absolute;
        top: 1.0625rem;
        z-index: 10; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:after,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform:after,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform:after {
        border: solid transparent;
        border-color: rgba(255, 255, 255, 0);
        border-width: 0.625rem;
        content: '';
        height: 0;
        margin-left: -0.625rem;
        pointer-events: none;
        position: absolute;
        right: 0.4375rem;
        top: -1.25rem;
        width: 0; }
        @media only screen and (max-width: 64em) {
          header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:after,
          header#masthead nav.top-bar .inline-social-search-wrapper form#searchform:after,
          header#masthead nav.top-bar .menu-search-wrapper form#searchform:after {
            left: 1.0625rem;
            right: auto; } }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform .input-group,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform .input-group,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform .input-group {
        background: #FFFFFF;
        margin: 0; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#s,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#s,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#s {
        border: 0;
        box-shadow: none;
        height: auto;
        line-height: 2.125rem;
        padding: 0 0.3125rem; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#s::-webkit-input-placeholder,
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#s::-moz-placeholder,
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#s:-moz-placeholder,
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#s:-ms-input-placeholder,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#s::-webkit-input-placeholder,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#s::-moz-placeholder,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#s:-moz-placeholder,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#s:-ms-input-placeholder,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#s::-webkit-input-placeholder,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#s::-moz-placeholder,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#s:-moz-placeholder,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#s:-ms-input-placeholder {
        font-size: .875rem !important;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#searchsubmit,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#searchsubmit,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#searchsubmit {
        background: #2c2b79;
        border: 0;
        border-radius: 0 !important;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
        font-size: 1.125rem;
        font-weight: 700;
        height: 2.125rem;
        line-height: 2.125rem;
        margin: 0;
        padding: 0 0.625rem;
        text-indent: -9999px;
        text-transform: uppercase;
        width: 2.125rem;
        transition: all 0.2s ease-out; }
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#searchsubmit:hover, header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#searchsubmit:focus,
        header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#searchsubmit:hover,
        header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#searchsubmit:focus,
        header#masthead nav.top-bar .menu-search-wrapper form#searchform input#searchsubmit:hover,
        header#masthead nav.top-bar .menu-search-wrapper form#searchform input#searchsubmit:focus {
          background: #000000; }
    header#masthead nav.top-bar .above-menu-search-wrapper {
      margin: 0.75rem 0 0 0; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform {
        background: none;
        border: 0.0625rem solid #2c2b79;
        margin: 0;
        opacity: 1;
        overflow: hidden;
        padding: 0;
        top: 0;
        visibility: visible; }
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:before {
          right: 0.5rem;
          top: 0.3125rem; }
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:after {
          display: none; }
  header#masthead .logo-wrapper.hide-for-small-only .custom-logo-link {
    display: inline-block;
    padding: 0.625rem 0 1rem !important;
    text-align: center;
    width: 100%; }
    header#masthead .logo-wrapper.hide-for-small-only .custom-logo-link img.custom-logo, header#masthead .logo-wrapper.hide-for-small-only .custom-logo-link svg {
      display: block;
      height: auto;
      margin: 0 auto;
      max-width: 18.75rem;
      width: 100%; }
  header#masthead .alt-nav-wrapper {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 0.625rem 0;
    width: 100%; }
    header#masthead .alt-nav-wrapper .alt-nav-my-cart {
      margin-left: 0.625rem;
      margin-top: 0.625rem;
      text-align: center; }
      header#masthead .alt-nav-wrapper .alt-nav-my-cart a {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        border-radius: 6.25rem;
        display: inline-block;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 0.9375rem !important;
        font-weight: 700;
        padding: 0.4375rem 0.9375rem;
        text-transform: uppercase;
        width: auto;
        transition: all 0.2s ease-out; }
      header#masthead .alt-nav-wrapper .alt-nav-my-cart i {
        display: inline;
        font-size: 1.125rem;
        margin-right: 0.125rem; }
      header#masthead .alt-nav-wrapper .alt-nav-my-cart span.cart-contents {
        background: #FFFFFF;
        border-radius: 100%;
        color: #2c2b79;
        display: inline-block;
        line-height: 1.25rem;
        height: 1.25rem;
        margin: 0 0 0 0.3125rem;
        min-width: 1.25rem;
        text-align: center !important; }
    header#masthead .alt-nav-wrapper .menu {
      background: none;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      header#masthead .alt-nav-wrapper .menu > li {
        margin-left: 0.5rem;
        padding-left: 0.5rem;
        border-left: 0.0625rem solid #5c5b5b;
        border-right: 0; }
        header#masthead .alt-nav-wrapper .menu > li:first-child {
          margin-left: 0;
          padding-left: 0;
          border-left: 0; }
        header#masthead .alt-nav-wrapper .menu > li > a {
          background: none;
          font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
          font-size: 1rem;
          font-weight: 700;
          line-height: 1;
          padding: 0 !important;
          text-transform: uppercase; }
        header#masthead .alt-nav-wrapper .menu > li.is-active > a {
          color: inherit; }
  header#masthead .desktop-menu {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  header#masthead .desktop-menu.menu > li > a {
    white-space: nowrap;
    line-height: 2.25rem; }
    header#masthead .desktop-menu.menu > li > a:before {
      content: '' !important;
      width: 0;
      height: 0.25rem;
      display: block !important;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: width 0.2s ease-out; }
    header#masthead .desktop-menu.menu > li > a:hover:before {
      width: 100%; }
  header#masthead .desktop-menu.menu > li:last-of-type ul.dropdown {
    left: auto;
    right: 0; }
  header#masthead .menu > li {
    float: none;
    display: inline-block; }
  header#masthead .menu > li > a {
    background: none;
    padding: 0 !important;
    font-size: 1.3125rem;
    font-weight: 700;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    line-height: 1;
    text-transform: uppercase; }
  header#masthead .menu > li.menu-item-has-children > a {
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important; }
  header#masthead .menu > li.menu-item-has-children > a:before {
    display: none; }
  header#masthead .menu > li:not(:last-child) {
    border-right: 0; }
  header#masthead .menu .active > a {
    background: none;
    color: #FFFFFF; }
  header#masthead .menu > li {
    position: relative; }
  header#masthead .menu .dropdown {
    min-width: 200px;
    display: block;
    visibility: hidden;
    opacity: 0;
    margin-top: 20px;
    padding: 0;
    z-index: -1;
    text-align: left;
    transition: all 0.2s ease-out; }
  header#masthead .menu .dropdown li a {
    height: auto;
    line-height: 1;
    font-size: 0.9375rem;
    font-weight: 400;
    padding: 0.75rem 0.9375rem 0.8125rem !important;
    display: block;
    position: relative;
    transition: all 0.2s ease-out; }
  header#masthead .menu .dropdown li {
    transition: background 0.2s ease-out; }
  header#masthead .menu .dropdown li a:hover:after {
    content: ''; }
  header#masthead .menu .dropdown li:after {
    display: none; }
  header#masthead .menu > li.is-active:hover .dropdown,
  header#masthead .menu > li.is-active:focus .dropdown,
  header#masthead .menu > li:focus-within .dropdown {
    visibility: visible;
    opacity: 1;
    margin-top: 0;
    z-index: 1; }
  header#masthead .menu > li.opens-left > .is-dropdown-submenu {
    left: 0;
    top: 100%; }
  header#masthead .menu > li.opens-left:last-child > .is-dropdown-submenu {
    left: auto;
    right: 0;
    margin-right: 0; }
  header#masthead .menu > li.is-dropdown-submenu-parent > a::after {
    display: none; }
  header#masthead nav.top-bar.has-search .desktop-menu {
    padding-right: 3rem !important;
    width: 100% !important; }

@media only screen and (max-width: 39.9375em) {
  .title-bar {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

/* 3a. Header Option One Styles */
header#masthead.header-option-one .top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: none;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }
  header#masthead.header-option-one .top-bar .top-bar-left {
    width: 100%;
    max-width: 300px; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-one .top-bar .top-bar-left {
        max-width: 100%; } }
    header#masthead.header-option-one .top-bar .top-bar-left .top-bar-title {
      margin: 0; }
    header#masthead.header-option-one .top-bar .top-bar-left .logo-wrapper.hide-for-small-only .custom-logo-link {
      padding: 0 !important; }
  header#masthead.header-option-one .top-bar .top-bar-right {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 2.5rem;
    position: relative;
    width: calc(100% - 18.75rem); }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-one .top-bar .top-bar-right {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding-left: 0;
        width: 100%; } }
    header#masthead.header-option-one .top-bar .top-bar-right .alt-nav-wrapper {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-one .top-bar .top-bar-right .alt-nav-wrapper {
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      header#masthead.header-option-one .top-bar .top-bar-right .alt-nav-wrapper .alt-nav-my-cart {
        margin-left: 0.625rem;
        margin-top: 0;
        text-align: right; }
    header#masthead.header-option-one .top-bar .top-bar-right .top-bar-social {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
      header#masthead.header-option-one .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
        text-align: right; }
    header#masthead.header-option-one .top-bar .top-bar-right .desktop-menu {
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; }

header#masthead.header-option-one .above-menu-search-wrapper {
  margin-bottom: 0.625rem; }

header#masthead.header-option-one .above-menu-search-wrapper,
header#masthead.header-option-one .inline-social-search-wrapper {
  height: 2.25rem;
  position: relative; }
  header#masthead.header-option-one .above-menu-search-wrapper form#searchform,
  header#masthead.header-option-one .inline-social-search-wrapper form#searchform {
    background: #FFFFFF;
    border: 0.0625rem solid #5c5b5b;
    border-radius: 0.1875rem;
    margin: 0;
    max-width: 12.5rem;
    position: relative !important;
    right: 0;
    width: 100%; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-one .above-menu-search-wrapper form#searchform,
      header#masthead.header-option-one .inline-social-search-wrapper form#searchform {
        margin: 0 auto !important; } }
    header#masthead.header-option-one .above-menu-search-wrapper form#searchform:after,
    header#masthead.header-option-one .inline-social-search-wrapper form#searchform:after {
      position: absolute;
      content: '\f002';
      font-family: fontawesome !important;
      width: 34px;
      height: 34px;
      line-height: 34px;
      text-align: center;
      top: 0;
      right: 0;
      cursor: pointer; }
    header#masthead.header-option-one .above-menu-search-wrapper form#searchform input#searchsubmit,
    header#masthead.header-option-one .inline-social-search-wrapper form#searchform input#searchsubmit {
      text-indent: -9999px;
      margin: 0 !important;
      width: 34px;
      height: 34px;
      background: none; }
    header#masthead.header-option-one .above-menu-search-wrapper form#searchform input#s,
    header#masthead.header-option-one .inline-social-search-wrapper form#searchform input#s {
      max-width: none;
      border: 0;
      box-shadow: none;
      padding: 0 10px !important;
      line-height: 34px;
      height: 34px;
      background: none; }
    header#masthead.header-option-one .above-menu-search-wrapper form#searchform .input-group,
    header#masthead.header-option-one .inline-social-search-wrapper form#searchform .input-group {
      margin: 0; }

header#masthead.header-option-one nav.top-bar .menu-search-wrapper {
  bottom: 0;
  height: 2.25rem;
  position: absolute;
  right: 0;
  width: 2.25rem; }
  header#masthead.header-option-one nav.top-bar .menu-search-wrapper button {
    cursor: pointer !important;
    font-size: 1.125rem;
    height: 2.25rem;
    line-height: 2.25rem;
    text-align: right;
    vertical-align: top;
    width: 2.25rem;
    transition: all 0.2s ease-out; }
  header#masthead.header-option-one nav.top-bar .menu-search-wrapper form#searchform:after {
    display: none; }
  header#masthead.header-option-one nav.top-bar .menu-search-wrapper form#searchform.show {
    margin: 0; }

header#masthead.header-option-one nav.top-bar .inline-social-search-wrapper button {
  text-align: center; }

header#masthead.header-option-one nav.top-bar .inline-social-search-wrapper form#searchform {
  border-radius: 0; }
  header#masthead.header-option-one nav.top-bar .inline-social-search-wrapper form#searchform:after {
    content: '';
    display: block !important; }

@media only screen and (max-width: 64em) {
  header#masthead.header-option-one {
    display: block; }
    header#masthead.header-option-one .logo-wrapper {
      text-align: center; }
    header#masthead.header-option-one .logo-wrapper img {
      display: block;
      margin: 0 auto; }
    header#masthead.header-option-one nav.top-bar .top-bar-title a {
      display: inline-block;
      padding: 0;
      margin-bottom: 1rem; }
    header#masthead.header-option-one nav.top-bar .top-bar-right .alt-nav-wrapper {
      width: 100%; }
      header#masthead.header-option-one nav.top-bar .top-bar-right .alt-nav-wrapper ul.menu {
        margin: 0.625rem 0;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
    header#masthead.header-option-one nav.top-bar .top-bar-right .top-bar-social {
      width: 100%; }
      header#masthead.header-option-one nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
        text-align: center;
        margin-bottom: 1rem; }
    header#masthead.header-option-one nav.top-bar .top-bar-right > .dropdown.menu.desktop-menu {
      width: 100%;
      padding: 0;
      margin-right: auto; }
    header#masthead.header-option-one nav.top-bar .top-bar-right form#searchform {
      left: auto;
      right: 0; }
      header#masthead.header-option-one nav.top-bar .top-bar-right form#searchform.show {
        margin: 0.5rem 0 0 0; } }

@media only screen and (max-width: 40em) {
  header#masthead.header-option-one {
    padding: 0 !important; }
    header#masthead.header-option-one .logo-wrapper.hide-for-small-only {
      display: none !important; }
    header#masthead.header-option-one .top-bar {
      padding: 0 !important; }
    header#masthead.header-option-one .top-bar-social {
      display: none; }
    header#masthead.header-option-one .menu-search-wrapper {
      display: none; } }

/* 3b. Header Option Two Styles */
header#masthead.header-option-two .top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: none;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  header#masthead.header-option-two .top-bar .top-bar-left {
    width: 100%;
    max-width: 18.75rem; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-two .top-bar .top-bar-left {
        max-width: 100%;
        text-align: center; } }
    header#masthead.header-option-two .top-bar .top-bar-left .top-bar-title {
      margin: 0; }
    header#masthead.header-option-two .top-bar .top-bar-left .logo-wrapper.hide-for-small-only .custom-logo-link {
      display: inline-block;
      padding: 0 !important; }
      header#masthead.header-option-two .top-bar .top-bar-left .logo-wrapper.hide-for-small-only .custom-logo-link img.custom-logo {
        width: 18.75rem;
        height: auto;
        display: block; }
  header#masthead.header-option-two .top-bar .top-bar-right {
    width: calc(100% - 18.75rem);
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-left: 2.5rem;
    position: relative; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-two .top-bar .top-bar-right {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 0;
        text-align: center;
        width: 100%; } }
    header#masthead.header-option-two .top-bar .top-bar-right .alt-nav-wrapper {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-two .top-bar .top-bar-right .alt-nav-wrapper {
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      header#masthead.header-option-two .top-bar .top-bar-right .alt-nav-wrapper .alt-nav-my-cart {
        margin-top: 0; }
    header#masthead.header-option-two .top-bar .top-bar-right .top-bar-social {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      text-align: right; }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-two .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
          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; } }
      header#masthead.header-option-two .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform:after {
        content: '';
        display: block !important; }
  header#masthead.header-option-two .top-bar .top-bar-bottom {
    position: relative;
    width: 100%; }

header#masthead.header-option-two nav.top-bar.has-search ul.desktop-menu {
  width: calc(100% - 4rem);
  margin-right: 3.75rem; }

header#masthead.header-option-two nav.top-bar .menu-search-wrapper {
  bottom: 0;
  height: 2.25rem;
  position: absolute;
  right: 0;
  width: 2.25rem; }
  header#masthead.header-option-two nav.top-bar .menu-search-wrapper button {
    cursor: pointer !important;
    font-size: 1.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
    vertical-align: top;
    text-align: center;
    width: 2.25rem;
    transition: all 0.2s ease-out; }
  @media only screen and (max-width: 64em) {
    header#masthead.header-option-two nav.top-bar .menu-search-wrapper form#searchform {
      left: auto;
      right: 0; } }
  header#masthead.header-option-two nav.top-bar .menu-search-wrapper form#searchform:after {
    display: none; }
  header#masthead.header-option-two nav.top-bar .menu-search-wrapper form#searchform.show {
    margin: 0; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-two nav.top-bar .menu-search-wrapper form#searchform.show {
        margin: 0.5rem 0 0 0; } }

header#masthead.header-option-two nav.top-bar .above-menu-search-wrapper form#searchform {
  position: relative; }

@media only screen and (max-width: 47.9375em) {
  header#masthead.header-option-two {
    display: block; }
    header#masthead.header-option-two .logo-wrapper {
      text-align: center; }
    header#masthead.header-option-two .logo-wrapper img {
      display: block;
      margin: 0 auto; }
    header#masthead.header-option-two .top-bar .top-bar-title a {
      display: inline-block;
      margin-bottom: 1rem;
      padding: 0; }
    header#masthead.header-option-two .top-bar .top-bar-right .alt-nav-wrapper {
      width: 100%; }
      header#masthead.header-option-two .top-bar .top-bar-right .alt-nav-wrapper ul.menu {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0.625rem 0; }
    header#masthead.header-option-two .top-bar .top-bar-right .top-bar-social {
      width: 100%; }
      header#masthead.header-option-two .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
        margin-bottom: 1rem;
        text-align: center; }
    header#masthead.header-option-two .top-bar .top-bar-right > .dropdown.menu.desktop-menu {
      margin-right: auto;
      padding: 0;
      width: calc(100% - 3rem); } }

@media only screen and (max-width: 40em) {
  header#masthead.header-option-two {
    padding: 0 !important; }
    header#masthead.header-option-two .logo-wrapper.hide-for-small-only {
      display: none !important; }
    header#masthead.header-option-two .top-bar {
      padding: 0 !important; }
    header#masthead.header-option-two .top-bar-social {
      display: none; }
    header#masthead.header-option-two .menu-search-wrapper {
      display: none; } }

/* 3c. Header Option Three Styles */
header#masthead.header-option-three .top-bar .top-bar-top .alt-nav-wrapper {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }
  header#masthead.header-option-three .top-bar .top-bar-top .alt-nav-wrapper .menu {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }

header#masthead.header-option-three .top-bar .top-bar-left {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  position: relative;
  width: 100%; }
  header#masthead.header-option-three .top-bar .top-bar-left .desktop-menu {
    background: none;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  header#masthead.header-option-three .top-bar .top-bar-left .top-bar-title {
    margin: 0; }

header#masthead.header-option-three .top-bar .top-bar-right {
  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;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 0.9375rem;
  position: relative;
  width: 100%; }
  header#masthead.header-option-three .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
    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; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-three .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
        text-align: center; } }
    header#masthead.header-option-three .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.telephone {
      text-align: center; }

header#masthead.header-option-three nav.top-bar.has-search ul.desktop-menu {
  width: calc(100% - 4rem);
  margin-right: 3.75rem; }

header#masthead.header-option-three nav.top-bar .logo-wrapper .custom-logo-link {
  padding-bottom: 0 !important; }

header#masthead.header-option-three nav.top-bar .alt-nav-wrapper .alt-nav-my-cart {
  margin-top: 0; }

header#masthead.header-option-three nav.top-bar .above-menu-search-wrapper {
  margin-bottom: 0.625rem; }
  header#masthead.header-option-three nav.top-bar .above-menu-search-wrapper form#searchform {
    margin: 0 auto !important;
    position: relative; }

header#masthead.header-option-three nav.top-bar .menu-search-wrapper {
  bottom: 0;
  height: 2.25rem;
  position: absolute;
  right: 0;
  width: 2.25rem; }
  header#masthead.header-option-three nav.top-bar .menu-search-wrapper button {
    font-size: 1.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
    text-align: right;
    width: 2.25rem;
    transition: all 0.2s ease-out; }
  @media only screen and (max-width: 64em) {
    header#masthead.header-option-three nav.top-bar .menu-search-wrapper form#searchform {
      left: auto;
      right: 0; } }
  header#masthead.header-option-three nav.top-bar .menu-search-wrapper form#searchform.show {
    margin: 0; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-three nav.top-bar .menu-search-wrapper form#searchform.show {
        margin: 0.5rem 0 0 0; } }
  header#masthead.header-option-three nav.top-bar .menu-search-wrapper form#searchform:after {
    display: none; }

header#masthead.header-option-three nav.top-bar .inline-social-search-wrapper button {
  text-align: center; }

header#masthead.header-option-three nav.top-bar .inline-social-search-wrapper form#searchform:after {
  display: block !important; }

@media only screen and (max-width: 64em) {
  header#masthead.header-option-three {
    display: block; }
    header#masthead.header-option-three .logo-wrapper {
      text-align: center; }
    header#masthead.header-option-three .logo-wrapper img {
      display: block;
      margin: 0 auto; }
    header#masthead.header-option-three .top-bar .top-bar-title a {
      display: inline-block;
      padding: 0; }
    header#masthead.header-option-three .top-bar .top-bar-right .alt-nav-wrapper {
      width: 100%; }
      header#masthead.header-option-three .top-bar .top-bar-right .alt-nav-wrapper ul.menu {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0.625rem 0; }
    header#masthead.header-option-three .top-bar .top-bar-right > .dropdown.menu.desktop-menu {
      margin-right: auto;
      padding: 0;
      width: calc(100% - 3rem); } }

@media only screen and (max-width: 40em) {
  header#masthead.header-option-three {
    padding: 0 !important; }
    header#masthead.header-option-three .logo-wrapper.hide-for-small-only {
      display: none !important; }
    header#masthead.header-option-three .top-bar {
      padding: 0 !important; }
    header#masthead.header-option-three .top-bar-social {
      display: none; }
    header#masthead.header-option-three .menu-search-wrapper {
      display: none; } }

/* 3d. Header Option Four Styles */
header#masthead.header-option-four {
  padding: 0 0 0.5rem 0 !important; }
  header#masthead.header-option-four .top-bar {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end; }
    header#masthead.header-option-four .top-bar .top-bar-top {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background: #2c2b79;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 0 -0.9375rem 0.9375rem;
      padding: 0.625rem 0.9375rem;
      position: relative;
      width: calc(100% + 1.875rem); }
      header#masthead.header-option-four .top-bar .top-bar-top:before, header#masthead.header-option-four .top-bar .top-bar-top:after {
        background: #2c2b79;
        content: '';
        display: block;
        height: 100%;
        left: 100%;
        position: absolute;
        top: 0;
        width: 200%; }
      header#masthead.header-option-four .top-bar .top-bar-top:after {
        left: auto;
        right: 100%; }
      header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper {
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        margin: 0;
        width: 50%; }
        header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper .menu > li {
          border-left: 0.125rem solid #FFFFFF;
          margin-left: 0.5rem;
          padding-left: 0.5rem; }
          header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper .menu > li:first-child {
            border-left: 0;
            margin-left: 0;
            padding-left: 0; }
        header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper .menu > li > a {
          color: #FFFFFF;
          font-weight: 700;
          line-height: 1.3;
          position: relative; }
          header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper .menu > li > a:before {
            background: #FFFFFF;
            bottom: 0;
            content: '';
            display: block;
            left: 0;
            height: 0.125rem;
            opacity: 0;
            position: absolute;
            visibility: hidden;
            width: 0;
            transition: all 0.2s ease-out; }
          header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper .menu > li > a:hover:before {
            opacity: 1;
            visibility: visible;
            width: 100%; }
        header#masthead.header-option-four .top-bar .top-bar-top .alt-nav-wrapper .alt-nav-my-cart {
          margin-left: 0.625rem;
          margin-top: 0;
          text-align: center; }
      header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social {
        margin: 0;
        width: 50%; }
        header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper {
          background: none;
          text-align: right; }
          header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li a {
            color: #FFFFFF; }
          header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li:not(.custom-button):not(.telephone) a, header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.menu-search-wrapper button {
            border-radius: 100%;
            line-height: 2.25rem;
            transition: background 0.2s ease-out; }
            header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li:not(.custom-button):not(.telephone) a:hover, header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li:not(.custom-button):not(.telephone) a:focus, header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.menu-search-wrapper button:hover, header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.menu-search-wrapper button:focus {
              background: #FFFFFF;
              color: #2c2b79; }
          @media only screen and (max-width: 64em) {
            header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.telephone {
              text-align: right; } }
          header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper button {
            color: #FFFFFF; }
          header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform.show {
            margin: 0.625rem 0 0 0 !important; }
          header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social ul.social-media-wrapper li.custom-button a {
            display: block; }
        header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social .top-bar-my-cart {
          margin-left: 0.625rem;
          margin-top: 0;
          text-align: center; }
          header#masthead.header-option-four .top-bar .top-bar-top .top-bar-social .top-bar-my-cart a {
            padding: 0.5rem 0.625rem 0.4375rem; }
    header#masthead.header-option-four .top-bar .top-bar-left {
      width: 100%;
      max-width: 300px; }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-four .top-bar .top-bar-left {
          max-width: 100%; } }
      header#masthead.header-option-four .top-bar .top-bar-left .top-bar-title {
        margin: 0; }
      header#masthead.header-option-four .top-bar .top-bar-left .logo-wrapper.hide-for-small-only .custom-logo-link {
        padding: 0 !important; }
    header#masthead.header-option-four .top-bar .top-bar-right {
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      padding-left: 2.5rem;
      position: relative;
      width: calc(100% - 18.75rem); }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-four .top-bar .top-bar-right {
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-left: 0;
          width: 100%; } }
      header#masthead.header-option-four .top-bar .top-bar-right .desktop-menu {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      header#masthead.header-option-four .top-bar .top-bar-right .top-bar-search .above-menu-search-wrapper {
        margin: 0 0 0.3125rem 0; }
        header#masthead.header-option-four .top-bar .top-bar-right .top-bar-search .above-menu-search-wrapper form#searchform:before {
          right: 0.625rem !important; }
  header#masthead.header-option-four .above-menu-search-wrapper {
    margin-bottom: 0.625rem; }
  header#masthead.header-option-four .above-menu-search-wrapper,
  header#masthead.header-option-four .inline-social-search-wrapper {
    height: 2.25rem;
    position: relative; }
    header#masthead.header-option-four .above-menu-search-wrapper form#searchform,
    header#masthead.header-option-four .inline-social-search-wrapper form#searchform {
      background: #FFFFFF;
      border: 0.0625rem solid #5c5b5b;
      border-radius: 0.1875rem;
      margin: 0;
      max-width: 12.5rem;
      position: relative !important;
      right: 0;
      width: 100%; }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-four .above-menu-search-wrapper form#searchform,
        header#masthead.header-option-four .inline-social-search-wrapper form#searchform {
          margin: 0 auto !important; } }
      header#masthead.header-option-four .above-menu-search-wrapper form#searchform:after,
      header#masthead.header-option-four .inline-social-search-wrapper form#searchform:after {
        position: absolute;
        content: '\f002';
        font-family: fontawesome !important;
        width: 34px;
        height: 34px;
        line-height: 34px;
        text-align: center;
        top: 0;
        right: 0;
        cursor: pointer; }
      header#masthead.header-option-four .above-menu-search-wrapper form#searchform input#searchsubmit,
      header#masthead.header-option-four .inline-social-search-wrapper form#searchform input#searchsubmit {
        text-indent: -9999px;
        margin: 0 !important;
        width: 34px;
        height: 34px;
        background: none; }
      header#masthead.header-option-four .above-menu-search-wrapper form#searchform input#s,
      header#masthead.header-option-four .inline-social-search-wrapper form#searchform input#s {
        max-width: none;
        border: 0;
        box-shadow: none;
        padding: 0 10px !important;
        line-height: 34px;
        height: 34px;
        background: none; }
      header#masthead.header-option-four .above-menu-search-wrapper form#searchform .input-group,
      header#masthead.header-option-four .inline-social-search-wrapper form#searchform .input-group {
        margin: 0; }
  header#masthead.header-option-four nav.top-bar .menu-search-wrapper {
    bottom: 0;
    height: 2.25rem;
    position: absolute;
    right: 0;
    width: 2.25rem; }
    header#masthead.header-option-four nav.top-bar .menu-search-wrapper button {
      cursor: pointer !important;
      font-size: 1.125rem;
      height: 2.25rem;
      line-height: 2.25rem;
      text-align: right;
      vertical-align: top;
      width: 2.25rem;
      transition: all 0.2s ease-out; }
    header#masthead.header-option-four nav.top-bar .menu-search-wrapper form#searchform:after {
      display: none; }
    header#masthead.header-option-four nav.top-bar .menu-search-wrapper form#searchform.show {
      margin: 0; }
  header#masthead.header-option-four nav.top-bar .inline-social-search-wrapper button {
    text-align: center; }
  header#masthead.header-option-four nav.top-bar .inline-social-search-wrapper form#searchform {
    border-radius: 0; }
    header#masthead.header-option-four nav.top-bar .inline-social-search-wrapper form#searchform:after {
      content: '';
      display: block !important; }

@media only screen and (max-width: 64em) {
  header#masthead.header-option-four {
    display: block; }
    header#masthead.header-option-four .logo-wrapper {
      text-align: center; }
    header#masthead.header-option-four .logo-wrapper img {
      display: block;
      margin: 0 auto; }
    header#masthead.header-option-four nav.top-bar .top-bar-title a {
      display: inline-block;
      padding: 0;
      margin-bottom: 1rem; }
    header#masthead.header-option-four nav.top-bar .top-bar-right .alt-nav-wrapper {
      width: 100%; }
      header#masthead.header-option-four nav.top-bar .top-bar-right .alt-nav-wrapper ul.menu {
        margin: 0.625rem 0;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
    header#masthead.header-option-four nav.top-bar .top-bar-right .top-bar-social {
      width: 100%; }
      header#masthead.header-option-four nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
        text-align: center;
        margin-bottom: 1rem; }
    header#masthead.header-option-four nav.top-bar .top-bar-right > .dropdown.menu.desktop-menu {
      width: 100%;
      padding: 0;
      margin-right: auto; }
    header#masthead.header-option-four nav.top-bar .top-bar-right form#searchform {
      left: auto;
      right: 0; }
      header#masthead.header-option-four nav.top-bar .top-bar-right form#searchform.show {
        margin: 0.5rem 0 0 0; } }

@media only screen and (max-width: 40em) {
  header#masthead.header-option-four {
    padding: 0 !important; }
    header#masthead.header-option-four .logo-wrapper.hide-for-small-only {
      display: none !important; }
    header#masthead.header-option-four .top-bar {
      padding: 0 !important; }
    header#masthead.header-option-four .top-bar-social {
      display: none; }
    header#masthead.header-option-four .menu-search-wrapper {
      display: none; } }

/* 3e. Mobile Off-Canvas Menu Styles */
.title-bar-left {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .title-bar-left .title-bar-title a.custom-logo-link {
    width: 100%;
    max-width: 15.625rem;
    display: inline-block; }
    .title-bar-left .title-bar-title a.custom-logo-link img, .title-bar-left .title-bar-title a.custom-logo-link svg {
      width: 100%;
      height: auto;
      display: block; }

@media only screen and (max-width: 40em) {
  body:not(.topbar) nav.site-navigation {
    display: none !important; } }

@media only screen and (max-width: 40em) {
  body.topbar header:not(.header-option-one) nav.site-navigation .top-bar-right, body.topbar header:not(.header-option-one) nav.site-navigation .top-bar-top, body.topbar header:not(.header-option-one) nav.site-navigation .top-bar-bottom .menu-search-wrapper {
    display: none !important; } }

@media only screen and (max-width: 40em) {
  body.topbar header#masthead.header-option-three nav.site-navigation .menu-search-wrapper {
    display: none !important; } }

nav.off-canvas a.custom-logo-link {
  display: inline-block;
  width: 100%;
  padding: 0 1rem; }
  nav.off-canvas a.custom-logo-link img.custom-logo {
    display: block;
    margin: 0.625rem auto;
    width: 100%;
    height: auto; }

nav.off-canvas .menu:not(.nested) > li > a {
  font-size: 1.125rem !important;
  font-weight: 700;
  text-transform: uppercase; }

nav.off-canvas .menu.nested {
  margin-left: 0; }
  nav.off-canvas .menu.nested > li > a {
    padding-left: 1.875rem !important;
    white-space: normal; }

nav.off-canvas .submenu-toggle {
  color: #FFFFFF;
  height: 2.52375rem; }
  nav.off-canvas .submenu-toggle:after {
    border-top-color: #FFFFFF; }

nav.off-canvas > ul.menu {
  padding: 0; }
  nav.off-canvas > ul.menu li.current_page_parent > a {
    background: #ec2027;
    color: #FFFFFF; }

nav.off-canvas ul.menu.alt-menu {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

nav.off-canvas > .menu > li.is-active > a,
nav.off-canvas .submenu li.is-active a {
  color: #FFFFFF; }
  nav.off-canvas > .menu > li.is-active > a:hover, nav.off-canvas > .menu > li.is-active > a:focus,
  nav.off-canvas .submenu li.is-active a:hover,
  nav.off-canvas .submenu li.is-active a:focus {
    color: #FFFFFF; }

nav.off-canvas ul.social-media-wrapper {
  margin: 1.25rem 0 0.9375rem 0;
  padding: 0 0.9375rem;
  text-align: left; }
  nav.off-canvas ul.social-media-wrapper li {
    display: inline-block;
    font-size: 1.5rem;
    height: 2.25rem;
    width: 15.26874%; }
  nav.off-canvas ul.social-media-wrapper li a {
    display: block;
    text-align: center; }
  nav.off-canvas ul.social-media-wrapper li.custom-button {
    width: auto;
    display: block;
    max-width: 100%;
    margin: 0.9375rem 0 0 0; }
    nav.off-canvas ul.social-media-wrapper li.custom-button a {
      display: block;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1rem !important;
      font-weight: 700;
      line-height: 1;
      padding: 0.625rem 0.625rem;
      transition: all 0.2s ease-out; }
  nav.off-canvas ul.social-media-wrapper li.top-bar-my-cart {
    z-index: 999; }
    nav.off-canvas ul.social-media-wrapper li.top-bar-my-cart a {
      position: relative; }
      nav.off-canvas ul.social-media-wrapper li.top-bar-my-cart a span.cart-contents {
        background: #ec2027 !important;
        border-radius: 1.25rem;
        color: #FFFFFF !important;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
        font-size: 0.875rem;
        font-weight: 700;
        height: auto;
        left: 100%;
        line-height: 1.125rem;
        min-height: 1.25rem;
        min-width: 1.25rem;
        opacity: .75;
        padding: 0.0625rem 0.375rem;
        position: absolute;
        top: -0.5rem;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        width: auto;
        z-index: 99;
        transition: opacity 0.2s ease-out; }
      nav.off-canvas ul.social-media-wrapper li.top-bar-my-cart a span.cart-contents-count-0 {
        display: none; }
      nav.off-canvas ul.social-media-wrapper li.top-bar-my-cart a:hover span.cart-contents, nav.off-canvas ul.social-media-wrapper li.top-bar-my-cart a:focus span.cart-contents {
        opacity: 1; }
  nav.off-canvas ul.social-media-wrapper li.menu-search-wrapper {
    display: none; }

nav.off-canvas .alt-nav-my-cart {
  text-align: center; }
  nav.off-canvas .alt-nav-my-cart a {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #ec2027;
    color: #FFFFFF;
    display: block;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 0.9375rem !important;
    font-weight: 700;
    max-width: calc(100% - 2rem);
    margin: 0.9375rem auto 0.9375rem;
    padding: 0.4375rem 0.625rem;
    text-transform: uppercase;
    width: 100%;
    transition: all 0.2s ease-out; }
    nav.off-canvas .alt-nav-my-cart a:hover, nav.off-canvas .alt-nav-my-cart a:focus {
      background: #2c2b79; }
  nav.off-canvas .alt-nav-my-cart i {
    display: inline;
    font-size: 1.125rem;
    margin-right: 0.125rem; }
  nav.off-canvas .alt-nav-my-cart span.cart-contents {
    background: #FFFFFF;
    border-radius: 100%;
    color: #2c2b79;
    display: inline-block;
    line-height: 1.25rem;
    height: 1.25rem;
    margin: 0 0 0 0.3125rem;
    min-width: 1.25rem;
    text-align: center; }

nav.off-canvas form#searchform {
  border: 0.0625rem solid #2c2b79;
  border-radius: 0.1875rem;
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 2rem);
  overflow: hidden;
  position: relative;
  width: 100%; }
  nav.off-canvas form#searchform:after {
    color: #FFFFFF;
    content: '\f002';
    cursor: pointer;
    height: 2.125rem;
    line-height: 2.125rem;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 2.125rem;
    pointer-events: none; }
  nav.off-canvas form#searchform input#s {
    border: 0;
    border-radius: 0.1875rem 0 0 0.1875rem;
    height: 2.125rem;
    line-height: 2.125rem;
    padding: 0 0.625rem !important; }
  nav.off-canvas form#searchform input#searchsubmit {
    height: 2.125rem;
    margin: 0;
    text-indent: -9999px;
    width: 2.125rem; }
    nav.off-canvas form#searchform input#searchsubmit:hover, nav.off-canvas form#searchform input#searchsubmit:focus {
      background: #000000; }

/* 3f. Mobile Top Bar Menu Styles */
body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu {
  padding: 0.9375rem;
  width: 100%; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu-toggle {
    background: #ec2027;
    color: #FFFFFF;
    height: 2.52375rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu-toggle:after {
      border-top-color: #FFFFFF; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > ul.menu {
    padding: 0; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.menu.alt-menu {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.menu.alt-menu li {
      width: 100%; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .menu:not(.nested) > li > a {
    font-size: 1.125rem !important;
    font-weight: 700;
    padding: 0.6875rem 0 !important;
    text-transform: uppercase; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .menu.nested {
    margin-left: 0; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .menu.nested > li > a {
      font-size: 1rem !important;
      font-weight: 600;
      padding: 0.625rem 1.25rem !important;
      text-transform: none !important;
      white-space: normal; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > .menu > li.is-active > a,
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu li.is-active a {
    color: #ec2027; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > .menu > li.is-active > a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > .menu > li.is-active > a:focus,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu li.is-active a:hover,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu li.is-active a:focus {
      color: #ec2027; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper {
    margin: 0 0 0.625rem 0;
    text-align: left; }
    @media only screen and (max-width: 40em) {
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li {
      border: 0;
      display: inline-block;
      vertical-align: top;
      width: 2.25rem;
      height: 2.25rem;
      margin-left: 0;
      margin-bottom: 0.5rem;
      text-align: center;
      position: relative;
      z-index: 99;
      font-size: 1.5rem;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li i {
        width: 100% !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.inline-social-search-wrapper {
      font-size: 1.25rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li:not(.custom-button):after {
      width: 2.25rem;
      height: 2.25rem;
      content: '';
      display: block;
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0;
      border-radius: 100%;
      opacity: 0;
      -webkit-transform: scale(0);
          -ms-transform: scale(0);
              transform: scale(0);
      transition: all 250ms ease-out; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.inline-social-search-wrapper {
      width: auto; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.menu-search-wrapper {
      display: none; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button {
      width: 100%; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 0.9375rem !important;
        font-weight: 700;
        padding: 0 0.625rem;
        position: relative;
        text-transform: uppercase;
        width: 100%;
        transition: all 0.2s ease-out; }
        body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a:focus {
          background: #000000 !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.top-bar-my-cart i,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.alt-nav-my-cart i {
      display: inline;
      font-size: 1.125rem;
      margin-right: 0.125rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.top-bar-my-cart span.cart-contents,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.alt-nav-my-cart span.cart-contents {
      background: #FFFFFF;
      border-radius: 100%;
      color: #2c2b79;
      display: inline-block;
      line-height: 1.25rem;
      height: 1.25rem;
      margin: 0 0 0 0.3125rem;
      min-width: 1.25rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a i {
      display: block;
      font-size: 1.5rem;
      width: 2.25rem;
      height: 2.25rem;
      line-height: 2.25rem;
      padding: 0; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a:focus, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a i:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a i:focus {
        background: none !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a {
      padding: 0 0.625rem; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart {
    text-align: center; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart a {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background: #ec2027;
      color: #FFFFFF;
      display: block;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 0.9375rem !important;
      font-weight: 700;
      max-width: 100%;
      margin: 0.4375rem 0 0.9375rem;
      padding: 0.5rem 0.625rem;
      text-transform: uppercase;
      width: 100%;
      transition: all 0.2s ease-out; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart a:focus {
        background: #2c2b79; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart i {
      display: inline;
      font-size: 1.125rem;
      margin-right: 0.125rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart span.cart-contents {
      background: #FFFFFF;
      border-radius: 100%;
      color: #2c2b79;
      display: inline-block;
      line-height: 1.25rem;
      height: 1.25rem;
      margin: 0 0 0 0.3125rem;
      min-width: 1.25rem;
      text-align: center; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform {
    position: absolute;
    right: 0;
    position: relative;
    max-width: 100%;
    width: 100%;
    text-align: right;
    border: 0.0625rem solid #5c5b5b;
    border-radius: 0.1875rem;
    background: #FFFFFF;
    margin: 0; }
    @media only screen and (max-width: 64em) {
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform {
        margin: 0 auto; } }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform:after {
      color: #FFFFFF;
      content: '\f002';
      cursor: pointer;
      font-family: fontawesome !important;
      height: 2.125rem;
      line-height: 2.125rem;
      position: absolute;
      right: 0;
      text-align: center;
      top: 0;
      width: 2.125rem;
      pointer-events: none; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform input#searchsubmit {
      text-indent: -9999px;
      margin: 0;
      width: 2.125rem;
      height: 2.125rem;
      background: #ec2027;
      color: #FFFFFF; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform input#searchsubmit:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform input#searchsubmit:focus {
        background: #000000; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform input#s {
      background: #FFFFFF;
      border: 0;
      box-shadow: none;
      height: 2.125rem;
      line-height: 2.125rem;
      max-width: none;
      padding: 0 0.625rem !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform .input-group {
      margin: 0; }

/* 3g. Sticky Header Styles */
@media only screen and (min-width: 39.9375rem) {
  #masthead {
    will-change: top; }
  body.sticky-prep #masthead.sticky-header {
    opacity: 0;
    position: fixed;
    width: 100%;
    top: -100%;
    transition: top .5s ease-out; }
  body.admin-bar.sticky-prep #masthead.sticky-header {
    opacity: 0;
    top: -100%;
    transition: top .5s ease-out; }
  body.sticky-header.sticky-prep #masthead.sticky-header {
    opacity: 1;
    top: 0; }
  body.admin-bar.sticky-header.sticky-prep #masthead.sticky-header {
    opacity: 1;
    top: 32px; } }

/* 3h. Header Overrides */
.top-bar .top-bar-social li.custom-button a {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 0.9375rem !important;
  font-weight: 700;
  text-transform: uppercase;
  width: 100%; }

.top-bar .top-bar-social li.custom-button.top-bar-my-cart i {
  display: inline;
  font-size: 1.125rem;
  margin-right: 0.125rem; }

.top-bar .top-bar-social li.custom-button.top-bar-my-cart span.cart-contents {
  background: #FFFFFF;
  border-radius: 100%;
  color: #2c2b79;
  display: inline-block;
  line-height: 1.25rem;
  height: 1.25rem;
  margin: 0 0 0 0.3125rem;
  min-width: 1.25rem; }

.top-bar ul.social-media-wrapper .menu-search-wrapper {
  border-left: 0 !important; }

body.topbar .menu-icon:before,
body.offcanvas .menu-icon:before {
  background: none !important;
  box-shadow: 0 0.4375rem 0 inherit;
  content: '';
  display: block;
  left: 0;
  height: 0.125rem;
  position: absolute;
  top: 0;
  width: 100%;
  transition: all 0.2s ease-out; }

body.topbar .menu-icon:after,
body.offcanvas .menu-icon:after {
  box-shadow: 0 0.875rem 0 inherit;
  transition: all 0.2s ease-out; }

body.topbar .menu-icon.active:before,
body.offcanvas .menu-icon.active:before {
  background: none !important;
  left: 0.375rem;
  top: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }

body.topbar .menu-icon.active:after, body.topbar .menu-icon.active:hover:after,
body.offcanvas .menu-icon.active:after,
body.offcanvas .menu-icon.active:hover:after {
  background: none !important;
  box-shadow: 0 0.875rem 0 inherit !important;
  left: -0.5625rem;
  top: -0.3125rem;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }

/**** 4. HOME PAGE STYLES ****/
.home-hero-wrapper {
  padding-top: 9.375rem;
  padding-bottom: 9.375rem; }
  @media only screen and (max-width: 64em) {
    .home-hero-wrapper {
      padding-top: 7.5rem;
      padding-bottom: 7.5rem; } }
  @media only screen and (max-width: 47.9375em) {
    .home-hero-wrapper {
      padding-top: 5rem;
      padding-bottom: 5rem; } }
  @media only screen and (max-width: 30em) {
    .home-hero-wrapper {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }
  .home-hero-wrapper .home-hero-caption {
    background: rgba(255, 255, 255, 0.5);
    margin-left: auto;
    margin-right: auto;
    max-width: 50rem;
    padding: 1.875rem 1.25rem;
    width: 100%; }
    .home-hero-wrapper .home-hero-caption h2, .home-hero-wrapper .home-hero-caption h3 {
      color: #2c2b79;
      text-align: center; }
    .home-hero-wrapper .home-hero-caption h6 {
      font-size: 0.75rem;
      text-align: center;
      margin-top: 1.25rem;
      margin-bottom: 1.25rem; }
    .home-hero-wrapper .home-hero-caption p {
      text-align: center; }

.home .main-wrap.full-width {
  margin-top: 0;
  max-width: 100%; }
  .home .main-wrap.full-width .main-content {
    margin: 0 !important;
    width: 100% !important; }

@media only screen and (max-width: 40em) {
  .home .main-wrap .main-content {
    margin-right: 0;
    margin-left: 0;
    width: 100%; }
  .main-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important; } }

/**** 5. INTERNAL PAGE STYLES ****/
/* 5a. Breadcrumbs Styles */
.breadcrumbs-wrapper {
  padding: 0 0.9375rem; }
  .breadcrumbs-wrapper #breadcrumbs {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 1rem 0; }
    .breadcrumbs-wrapper #breadcrumbs li {
      float: none;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      font-size: 1.25rem !important;
      font-weight: 700;
      text-transform: none; }
      .breadcrumbs-wrapper #breadcrumbs li:after {
        display: none; }
      .breadcrumbs-wrapper #breadcrumbs li a {
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
        font-size: 1.25rem !important;
        font-weight: 700; }
    .breadcrumbs-wrapper #breadcrumbs li.separator {
      font-size: 1.25rem !important;
      font-weight: 700;
      margin: 0 0.625rem; }

/* 5b. Page Title and Title Bar Styles */
h1.entry-title {
  font-size: 3.125rem !important;
  position: relative;
  z-index: 10; }
  @media only screen and (max-width: 40em) {
    h1.entry-title {
      font-size: 2.5rem !important; } }

.featured-hero-title-bar {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 0.1875rem solid #ec2027;
  border-bottom: 0.1875rem solid #ec2027;
  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;
  padding: 0.625rem 0.9375rem;
  position: relative; }
  .featured-hero-title-bar:before, .featured-hero-title-bar:after {
    background: #ec2027;
    content: '';
    display: block;
    height: 0.1875rem;
    left: 0;
    position: absolute;
    top: 0.25rem;
    width: 100%;
    z-index: 1; }
  .featured-hero-title-bar:after {
    bottom: 0.25rem;
    top: auto; }
  .featured-hero-title-bar h1.entry-title {
    font-weight: 500;
    text-align: center;
    text-shadow: 0 0.125rem 0.0625rem #000000;
    text-transform: uppercase; }
  .featured-hero-title-bar time, .featured-hero-title-bar p.byline.author, .featured-hero-title-bar p.bs-post-date, .featured-hero-title-bar p.bs-post-cats, .featured-hero-title-bar p.bs-post-comments, .featured-hero-title-bar p.search-query, .featured-hero-title-bar ul li, .featured-hero-title-bar span {
    margin-bottom: 0;
    position: relative;
    text-shadow: 0 0.125rem 0.0625rem #000000;
    z-index: 10; }
  .featured-hero-title-bar ul {
    display: block;
    list-style: none;
    margin-bottom: 0;
    margin-left: -0.75rem;
    text-align: center;
    width: 100%; }
    .featured-hero-title-bar ul li {
      display: inline-block;
      padding: 0 0 0 0.75rem; }
  .featured-hero-title-bar .blog-meta p.bs-post-date {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .featured-hero-title-bar .blog-meta p.byline.author {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    .featured-hero-title-bar .blog-meta p.byline.author a {
      font-weight: 700; }
  .featured-hero-title-bar .blog-meta p.bs-post-cats {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
    .featured-hero-title-bar .blog-meta p.bs-post-cats a {
      font-weight: 700; }
  .featured-hero-title-bar .blog-meta p.bs-post-comments {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }

/* 5c. Default Page Template Styles */
.main-wrap {
  max-width: 87.5rem !important; }
  .main-wrap .main-content a {
    text-decoration: underline; }
  @media only screen and (max-width: 47.9375em) {
    .main-wrap .main-content {
      -webkit-order: 1 !important;
          -ms-flex-order: 1 !important;
              order: 1 !important;
      width: calc(100% - 1.875rem) !important; } }

body:not(.home) .main-wrap {
  margin-top: 2.5rem;
  margin-bottom: 0; }
  body:not(.home) .main-wrap > article.main-content {
    margin-bottom: 3.75rem; }
    body:not(.home) .main-wrap > article.main-content p, body:not(.home) .main-wrap > article.main-content span, body:not(.home) .main-wrap > article.main-content li, body:not(.home) .main-wrap > article.main-content time {
      font-size: 1.25rem; }
    body:not(.home) .main-wrap > article.main-content ol, body:not(.home) .main-wrap > article.main-content ul:not(.accordion):not(.tabs) {
      margin-bottom: 1.75rem; }

body.page-template-page-nosidebar .main-wrap {
  max-width: 87.5rem !important; }
  body.page-template-page-nosidebar .main-wrap .main-content {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 50rem !important; }

/* 5d. Full Width Page Template Styles */
.main-wrap.full-width {
  width: 100%; }
  .main-wrap.full-width .main-content {
    margin-left: 0.9375rem !important;
    margin-right: 0.9375rem !important;
    width: 100%; }

/* 5e. Post Navigation Footer Styles */
footer.portfolio-navigation nav.navigation.post-navigation {
  padding: 0 0.9375rem; }

footer nav.navigation.post-navigation {
  margin: 2rem auto 0;
  max-width: 75rem; }

/* 5f. Left Sidebar Page Template Styles */
/* 5g. Sidebar Styles */
aside.sidebar {
  background: #f2f2f2;
  padding: 1.5625rem; }
  @media only screen and (max-width: 47.9375em) {
    aside.sidebar {
      -webkit-order: 2 !important;
          -ms-flex-order: 2 !important;
              order: 2 !important;
      width: calc(100% - 1.875rem) !important; } }
  aside.sidebar.portfolio-sidebar {
    background: none;
    padding: 0; }
    aside.sidebar.portfolio-sidebar img.wp-post-image {
      margin-bottom: 0; }
  aside.sidebar .widget {
    margin-bottom: 1.875rem; }
    aside.sidebar .widget:last-of-type {
      margin-bottom: 0; }
    aside.sidebar .widget h6 {
      border-bottom: 0.125rem solid #2c2b79;
      font-size: 1.125rem !important;
      margin-bottom: 0.625rem;
      padding-bottom: 0.625rem;
      text-transform: uppercase; }
    aside.sidebar .widget ul {
      list-style: none;
      margin: 0; }
      aside.sidebar .widget ul > li {
        margin-bottom: 0.625rem;
        position: relative; }
      aside.sidebar .widget ul > li > a {
        color: #006536;
        display: inline-block;
        font-size: 1.125rem !important;
        font-weight: 700;
        vertical-align: middle; }
      aside.sidebar .widget ul > li:last-child > a {
        margin-bottom: 0; }
  aside.sidebar li.recentcomments {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    aside.sidebar li.recentcomments span.comment-author-link {
      display: inline-block;
      line-height: 1.8;
      margin-right: 0.25rem; }
    aside.sidebar li.recentcomments a {
      margin-left: 0.25rem; }

/* 5h. Social Sharing Shortcode Styles */
.bs-social-share-outer {
  margin: 1.875rem auto 0;
  max-width: 51.875rem;
  padding: 0 0.9375rem; }

.bs-social-share-container {
  margin: 0 auto 1.875rem;
  width: auto; }
  .bs-social-share-container .bs-social-share-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-left: -1rem; }
    @media only screen and (max-width: 40em) {
      .bs-social-share-container .bs-social-share-inner {
        margin-left: -0.25rem; } }
    .bs-social-share-container .bs-social-share-inner .single-social-share {
      font-size: 1.5rem;
      line-height: 1.5rem;
      margin-left: 1rem;
      text-align: center;
      width: calc(20% - 1rem);
      transition: all 0.2s ease-out; }
      @media only screen and (max-width: 40em) {
        .bs-social-share-container .bs-social-share-inner .single-social-share {
          margin-left: 0.25rem;
          width: calc(20% - 0.25rem); } }
      .bs-social-share-container .bs-social-share-inner .single-social-share a {
        display: block;
        text-align: center; }
      .bs-social-share-container .bs-social-share-inner .single-social-share a i {
        transition: all 0.2s ease-out; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-twitter a i {
        color: #00aced; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-facebook a i {
        color: #3b5998; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-google a i {
        color: #dd4b39; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-linkedin a i {
        color: #007bb6; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-pinterest a i {
        color: #cb2027; }
      .bs-social-share-container .bs-social-share-inner .single-social-share:hover a i, .bs-social-share-container .bs-social-share-inner .single-social-share:focus a i {
        color: #2c2b79 !important; }
    .bs-social-share-container .bs-social-share-inner.show-count .single-social-share {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 0.3125rem; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share a {
        text-align: left;
        width: calc(100% - 1.5rem); }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share a i {
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-twitter {
        background: #00aced; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-facebook {
        background: #3b5998;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-google {
        background: #dd4b39;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-linkedin {
        background: #007bb6;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-pinterest {
        background: #cb2027;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share span {
        background: #FFFFFF;
        color: #000000;
        display: inline-block;
        font-size: 0.875rem;
        font-weight: 700;
        line-height: 1.125rem;
        margin-left: 0.3125rem;
        padding: 0.1875rem;
        width: 1.5rem; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:hover, .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:focus {
        background: #2c2b79 !important; }
        .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:hover a i, .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:focus a i {
          color: #FFFFFF !important; }

/* 5i. Gallery Shortcode Styles */
.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.875rem;
  margin-left: -0.9375rem; }
  .gallery figure.gallery-item {
    margin-bottom: 0.9375rem;
    overflow: hidden;
    padding-left: 0.9375rem;
    position: relative; }
    .gallery figure.gallery-item .gallery-icon {
      width: 100%; }
      .gallery figure.gallery-item .gallery-icon a {
        border: 0.0625rem solid #2c2b79;
        display: block;
        overflow: hidden;
        width: 100%; }
        .gallery figure.gallery-item .gallery-icon a img {
          display: block;
          height: auto;
          width: 100%;
          transition: all 0.2s ease-out; }
    .gallery figure.gallery-item figcaption.wp-caption-text {
      background: rgba(44, 43, 121, 0.75);
      color: #FFFFFF;
      display: block;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 1.2;
      padding: 0.25rem 0.625rem;
      position: absolute;
      top: 100%;
      width: 100%;
      transition: all 0.2s ease-out; }
    .gallery figure.gallery-item:hover .gallery-icon, .gallery figure.gallery-item:focus .gallery-icon {
      width: 100%; }
      .gallery figure.gallery-item:hover .gallery-icon a img, .gallery figure.gallery-item:focus .gallery-icon a img {
        -webkit-transform: scale(1.1) rotate(3deg);
            -ms-transform: scale(1.1) rotate(3deg);
                transform: scale(1.1) rotate(3deg); }
    .gallery figure.gallery-item:hover figcaption.wp-caption-text, .gallery figure.gallery-item:focus figcaption.wp-caption-text {
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); }
  .gallery.gallery-columns-4 .gallery-item {
    width: 25%; }
    @media only screen and (max-width: 47.9375em) {
      .gallery.gallery-columns-4 .gallery-item {
        width: 33.3333%; } }
    @media only screen and (max-width: 30em) {
      .gallery.gallery-columns-4 .gallery-item {
        width: 50%; } }
  .gallery.gallery-columns-3 .gallery-item {
    width: 33.3333%; }
    @media only screen and (max-width: 30em) {
      .gallery.gallery-columns-3 .gallery-item {
        width: 50%; } }
  .gallery.gallery-columns-2 .gallery-item {
    width: 50%; }
  .gallery figure.gallery-item {
    margin-bottom: 0.9375rem;
    overflow: hidden;
    padding-left: 0.9375rem;
    position: relative; }
    .gallery figure.gallery-item .gallery-icon {
      width: 100%; }
      .gallery figure.gallery-item .gallery-icon a {
        display: block;
        width: 100%; }
        .gallery figure.gallery-item .gallery-icon a img {
          display: block;
          height: auto;
          width: 100%; }
    .gallery figure.gallery-item figcaption.wp-caption-text {
      background: rgba(44, 43, 121, 0.75);
      color: #FFFFFF;
      display: block;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 1.2;
      padding: 0.25rem 0.625rem;
      position: absolute;
      top: 100%;
      width: 100%;
      transition: all 0.2s ease-out; }
    .gallery figure.gallery-item:hover figcaption.wp-caption-text, .gallery figure.gallery-item:focus figcaption.wp-caption-text {
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); }

/* 5j. Pagination Styles */
ul.pagination {
  border-top: 0.125rem solid #2c2b79;
  margin-top: 1.25rem;
  padding-top: 0.9375rem;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 50em) {
    ul.pagination {
      margin-left: 0.9375rem; } }
  ul.pagination li, ul.pagination li span, ul.pagination li a {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    height: 1.875rem;
    line-height: 1.875rem;
    padding: 0 !important;
    text-align: center;
    width: 1.875rem; }
  ul.pagination li span.current {
    background: #ec2027;
    color: #FFFFFF !important; }
  ul.pagination li a {
    text-decoration: none !important;
    transition: all .2s ease-out !important; }
    ul.pagination li a:hover, ul.pagination li a:focus {
      background: #2c2b79;
      color: #FFFFFF !important; }

/* 5k. Gravity Form Styles */
.main-content > .entry-content > .gform_wrapper {
  margin-top: 0 !important; }

@media only screen and (min-width: 641px) {
  .gform_wrapper form .gform_body {
    width: calc(100% + 1rem); } }

.gform_wrapper form .gform_body li.gfield {
  margin-top: 0; }
  .gform_wrapper form .gform_body li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']), .gform_wrapper form .gform_body li.gfield select, .gform_wrapper form .gform_body li.gfield textarea {
    border: 0.0625rem solid #2c2b79 !important;
    border-radius: 0.1875rem !important;
    box-shadow: none;
    min-height: 2.8125rem; }
  .gform_wrapper form .gform_body li.gfield .ginput_container {
    margin-top: 0 !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_container input, .gform_wrapper form .gform_body li.gfield .ginput_container select, .gform_wrapper form .gform_body li.gfield .ginput_container textarea {
      margin-bottom: 1.25rem !important; }
  .gform_wrapper form .gform_body li.gfield .ginput_complex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: -1rem;
    margin-right: 0;
    width: calc(100% + 1rem) !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      padding-left: 1rem;
      padding-right: 0; }
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full input, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full select, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left input, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left select, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right input, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right select, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first input, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first select, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last input, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last select, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last textarea {
        margin-bottom: 1.25rem !important;
        margin-left: 0 !important; }
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full textarea + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left textarea + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right textarea + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first textarea + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last textarea + label {
          color: #333333;
          font-style: italic;
          font-weight: 700;
          line-height: 1.2;
          margin: 0 0 0 0.0625rem;
          position: absolute;
          top: calc(100% - 1.125rem);
          -webkit-transform: translateY(-100%);
              -ms-transform: translateY(-100%);
                  transform: translateY(-100%); }
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full.has-label-below input, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full.has-label-below select, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full.has-label-below textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left.has-label-below input, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left.has-label-below select, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left.has-label-below textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right.has-label-below input, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right.has-label-below select, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right.has-label-below textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first.has-label-below input, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first.has-label-below select, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first.has-label-below textarea, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last.has-label-below input, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last.has-label-below select, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last.has-label-below textarea {
        margin-bottom: 2.1875rem !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full {
      width: 100%; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last {
      float: none;
      margin-right: 0;
      width: 50%; }
      @media only screen and (max-width: 40em) {
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left, .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first, .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last {
          width: 100%; } }
  .gform_wrapper form .gform_body li.gfield .ginput_container_address_label {
    background: #f2f2f2;
    display: block;
    padding: 1rem 1rem 0 1rem;
    width: 100%; }
  .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address {
    background: #f2f2f2;
    margin-left: 0;
    margin-bottom: 1.25rem;
    padding: 0.25rem 1rem 0.3125rem 0;
    width: 100% !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right {
      margin: 0;
      padding: 0 0 0 1rem !important; }
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full input, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full select, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left input, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left select, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right input, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right select {
        margin-bottom: 1.5625rem !important; }
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left select + label, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right input + label, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right select + label {
          top: calc(100% - 0.625rem); }
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full select, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left select, .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right select {
        margin-top: 0; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right + .ginput_left {
      margin-right: 0; }

.gform_wrapper form .gform_footer {
  margin: 1.875rem 0 0 0;
  padding: 0; }
  .gform_wrapper form .gform_footer input.gform_button {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    margin-right: 0;
    padding: 0.625rem 0.9375rem; }

.gform_wrapper.gform_validation_error form .validation_error {
  background: #ec2027;
  border-color: #ec2027;
  color: #FFFFFF;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.375rem; }

.gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error {
  margin-top: 0 !important;
  padding-left: 0.3125rem;
  padding-right: 0.3125rem; }
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error label.gfield_label {
    margin-top: 0; }
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_description.validation_message {
    color: red;
    padding: 0; }
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .ginput_complex .ginput_left input + label, .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .ginput_complex .ginput_right input + label {
    top: 100%; }

/**** 6. BLOG PAGE AND SINGLE BLOG POST STYLES ****/
.single-post .main-wrap, .blog .main-wrap, .search-results .main-wrap, .single-service .main-wrap, .archive .main-wrap, .tag .main-wrap, .single-staff .main-wrap {
  margin-bottom: 2.5rem; }
  .single-post .main-wrap .main-content .bs-entry-meta, .blog .main-wrap .main-content .bs-entry-meta, .search-results .main-wrap .main-content .bs-entry-meta, .single-service .main-wrap .main-content .bs-entry-meta, .archive .main-wrap .main-content .bs-entry-meta, .tag .main-wrap .main-content .bs-entry-meta, .single-staff .main-wrap .main-content .bs-entry-meta {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2rem; }
    .single-post .main-wrap .main-content .bs-entry-meta p, .blog .main-wrap .main-content .bs-entry-meta p, .search-results .main-wrap .main-content .bs-entry-meta p, .single-service .main-wrap .main-content .bs-entry-meta p, .archive .main-wrap .main-content .bs-entry-meta p, .tag .main-wrap .main-content .bs-entry-meta p, .single-staff .main-wrap .main-content .bs-entry-meta p {
      border-right: 0.125rem solid #2c2b79;
      margin: 0 0.625rem 0 0;
      padding: 0 0.625rem 0 0; }
      .single-post .main-wrap .main-content .bs-entry-meta p:last-of-type, .blog .main-wrap .main-content .bs-entry-meta p:last-of-type, .search-results .main-wrap .main-content .bs-entry-meta p:last-of-type, .single-service .main-wrap .main-content .bs-entry-meta p:last-of-type, .archive .main-wrap .main-content .bs-entry-meta p:last-of-type, .tag .main-wrap .main-content .bs-entry-meta p:last-of-type, .single-staff .main-wrap .main-content .bs-entry-meta p:last-of-type {
        border-right: 0;
        margin: 0;
        padding: 0; }
  .single-post .main-wrap.no-sidebar, .blog .main-wrap.no-sidebar, .search-results .main-wrap.no-sidebar, .single-service .main-wrap.no-sidebar, .archive .main-wrap.no-sidebar, .tag .main-wrap.no-sidebar, .single-staff .main-wrap.no-sidebar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .single-post .main-wrap.no-sidebar article.main-content, .blog .main-wrap.no-sidebar article.main-content, .search-results .main-wrap.no-sidebar article.main-content, .single-service .main-wrap.no-sidebar article.main-content, .archive .main-wrap.no-sidebar article.main-content, .tag .main-wrap.no-sidebar article.main-content, .single-staff .main-wrap.no-sidebar article.main-content {
      max-width: 50rem;
      width: 100%; }
  .single-post .main-wrap.blog-sidebar-left, .single-post .main-wrap.single-sidebar-left, .blog .main-wrap.blog-sidebar-left, .blog .main-wrap.single-sidebar-left, .search-results .main-wrap.blog-sidebar-left, .search-results .main-wrap.single-sidebar-left, .single-service .main-wrap.blog-sidebar-left, .single-service .main-wrap.single-sidebar-left, .archive .main-wrap.blog-sidebar-left, .archive .main-wrap.single-sidebar-left, .tag .main-wrap.blog-sidebar-left, .tag .main-wrap.single-sidebar-left, .single-staff .main-wrap.blog-sidebar-left, .single-staff .main-wrap.single-sidebar-left {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .single-post .main-wrap.blog-sidebar-left .main-content, .single-post .main-wrap.single-sidebar-left .main-content, .blog .main-wrap.blog-sidebar-left .main-content, .blog .main-wrap.single-sidebar-left .main-content, .search-results .main-wrap.blog-sidebar-left .main-content, .search-results .main-wrap.single-sidebar-left .main-content, .single-service .main-wrap.blog-sidebar-left .main-content, .single-service .main-wrap.single-sidebar-left .main-content, .archive .main-wrap.blog-sidebar-left .main-content, .archive .main-wrap.single-sidebar-left .main-content, .tag .main-wrap.blog-sidebar-left .main-content, .tag .main-wrap.single-sidebar-left .main-content, .single-staff .main-wrap.blog-sidebar-left .main-content, .single-staff .main-wrap.single-sidebar-left .main-content {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .single-post .main-wrap.blog-sidebar-left aside.sidebar, .single-post .main-wrap.single-sidebar-left aside.sidebar, .blog .main-wrap.blog-sidebar-left aside.sidebar, .blog .main-wrap.single-sidebar-left aside.sidebar, .search-results .main-wrap.blog-sidebar-left aside.sidebar, .search-results .main-wrap.single-sidebar-left aside.sidebar, .single-service .main-wrap.blog-sidebar-left aside.sidebar, .single-service .main-wrap.single-sidebar-left aside.sidebar, .archive .main-wrap.blog-sidebar-left aside.sidebar, .archive .main-wrap.single-sidebar-left aside.sidebar, .tag .main-wrap.blog-sidebar-left aside.sidebar, .tag .main-wrap.single-sidebar-left aside.sidebar, .single-staff .main-wrap.blog-sidebar-left aside.sidebar, .single-staff .main-wrap.single-sidebar-left aside.sidebar {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
  .single-post .main-wrap.blog-full-width.no-sidebar article.main-content, .single-post .main-wrap.single-full-width.no-sidebar article.main-content, .blog .main-wrap.blog-full-width.no-sidebar article.main-content, .blog .main-wrap.single-full-width.no-sidebar article.main-content, .search-results .main-wrap.blog-full-width.no-sidebar article.main-content, .search-results .main-wrap.single-full-width.no-sidebar article.main-content, .single-service .main-wrap.blog-full-width.no-sidebar article.main-content, .single-service .main-wrap.single-full-width.no-sidebar article.main-content, .archive .main-wrap.blog-full-width.no-sidebar article.main-content, .archive .main-wrap.single-full-width.no-sidebar article.main-content, .tag .main-wrap.blog-full-width.no-sidebar article.main-content, .tag .main-wrap.single-full-width.no-sidebar article.main-content, .single-staff .main-wrap.blog-full-width.no-sidebar article.main-content, .single-staff .main-wrap.single-full-width.no-sidebar article.main-content {
    max-width: 100%; }

.single-post .about-the-author-wrap, .blog .about-the-author-wrap, .search-results .about-the-author-wrap, .single-service .about-the-author-wrap, .archive .about-the-author-wrap, .tag .about-the-author-wrap, .single-staff .about-the-author-wrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 2rem 0;
  padding: 0.9375rem; }
  .single-post .about-the-author-wrap .author-image, .blog .about-the-author-wrap .author-image, .search-results .about-the-author-wrap .author-image, .single-service .about-the-author-wrap .author-image, .archive .about-the-author-wrap .author-image, .tag .about-the-author-wrap .author-image, .single-staff .about-the-author-wrap .author-image {
    border-radius: 100%;
    margin-right: 0.625rem;
    height: 5rem;
    overflow: hidden;
    width: 5rem; }
    .single-post .about-the-author-wrap .author-image img, .blog .about-the-author-wrap .author-image img, .search-results .about-the-author-wrap .author-image img, .single-service .about-the-author-wrap .author-image img, .archive .about-the-author-wrap .author-image img, .tag .about-the-author-wrap .author-image img, .single-staff .about-the-author-wrap .author-image img {
      height: auto;
      width: 100%; }
  .single-post .about-the-author-wrap .author-description, .blog .about-the-author-wrap .author-description, .search-results .about-the-author-wrap .author-description, .single-service .about-the-author-wrap .author-description, .archive .about-the-author-wrap .author-description, .tag .about-the-author-wrap .author-description, .single-staff .about-the-author-wrap .author-description {
    width: calc(100% - 5.625rem); }
    .single-post .about-the-author-wrap .author-description p:last-of-type, .blog .about-the-author-wrap .author-description p:last-of-type, .search-results .about-the-author-wrap .author-description p:last-of-type, .single-service .about-the-author-wrap .author-description p:last-of-type, .archive .about-the-author-wrap .author-description p:last-of-type, .tag .about-the-author-wrap .author-description p:last-of-type, .single-staff .about-the-author-wrap .author-description p:last-of-type {
      margin-bottom: 0; }
    .single-post .about-the-author-wrap .author-description p strong, .blog .about-the-author-wrap .author-description p strong, .search-results .about-the-author-wrap .author-description p strong, .single-service .about-the-author-wrap .author-description p strong, .archive .about-the-author-wrap .author-description p strong, .tag .about-the-author-wrap .author-description p strong, .single-staff .about-the-author-wrap .author-description p strong {
      font-size: 115%; }
    .single-post .about-the-author-wrap .author-description.no-avatar, .blog .about-the-author-wrap .author-description.no-avatar, .search-results .about-the-author-wrap .author-description.no-avatar, .single-service .about-the-author-wrap .author-description.no-avatar, .archive .about-the-author-wrap .author-description.no-avatar, .tag .about-the-author-wrap .author-description.no-avatar, .single-staff .about-the-author-wrap .author-description.no-avatar {
      width: 100%; }

/* 6a. Blog Loop Shortcode Styles */
.bs-blog-loop .bs-post-title {
  margin-bottom: 0.625rem; }
  .bs-blog-loop .bs-post-title h3 a {
    display: inline-block; }

.bs-blog-loop .blog-meta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0.625rem; }
  .bs-blog-loop .blog-meta p {
    margin-bottom: 0.3125rem; }
    .bs-blog-loop .blog-meta p a {
      display: inline-block; }
    .bs-blog-loop .blog-meta p i {
      display: inline-block;
      font-size: 1.25rem;
      line-height: 1.5rem;
      margin-right: 0.1875rem;
      min-height: 1.5rem;
      text-align: center;
      width: 1.5rem; }
    .bs-blog-loop .blog-meta p.bs-post-date {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .bs-blog-loop .blog-meta p.bs-post-byline {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
      .bs-blog-loop .blog-meta p.bs-post-byline span.avatar img {
        height: auto;
        margin-right: 0.1875rem;
        mix-blend-mode: multiply;
        width: 1.5rem; }
    .bs-blog-loop .blog-meta p.bs-post-cats {
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; }
    .bs-blog-loop .blog-meta p.bs-post-comments {
      -webkit-order: 4;
          -ms-flex-order: 4;
              order: 4; }

.bs-blog-loop .blog-footer a {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase; }

.bs-blog-loop.bs-blog-loop-list article.bs-single-post {
  border-bottom: 0.0625rem solid #2c2b79;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.5625rem;
  padding-bottom: 1.25rem; }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post .blog-featured-image {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 18.75rem; }
    @media only screen and (max-width: 40em) {
      .bs-blog-loop.bs-blog-loop-list article.bs-single-post .blog-featured-image {
        margin-bottom: 0.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; } }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post .entry-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding-right: 1.25rem;
    width: calc(100% - 18.75rem); }
    @media only screen and (max-width: 40em) {
      .bs-blog-loop.bs-blog-loop-list article.bs-single-post .entry-content {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 0;
        width: 100%; } }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post .blog-footer a {
    font-weight: 700; }

.bs-blog-loop.bs-blog-loop-grid, .bs-blog-loop.bs-blog-loop-carousel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -4.375rem;
  margin-bottom: -2.8125rem !important; }
  .bs-blog-loop.bs-blog-loop-grid article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post {
    margin-bottom: 2.8125rem;
    margin-left: 4.375rem;
    transition: box-shadow 0.2s ease-out; }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post {
        width: calc(100% - 1.875rem); } }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image {
      background: #2c2b79;
      border-bottom: 0;
      margin-bottom: 3.375rem; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image figure, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image a, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image figure, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image a {
        display: block;
        overflow: hidden;
        width: 100%; }
        .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image a img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image a img {
          display: block;
          transition: all 0.2s ease-out; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image a:hover img, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image a:focus img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image a:hover img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image a:focus img {
        -webkit-transform: scale(1.1) rotate(3deg);
            -ms-transform: scale(1.1) rotate(3deg);
                transform: scale(1.1) rotate(3deg); }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta {
      text-align: center; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta .bs-post-date, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta .bs-post-date {
        color: #ec2027 !important;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 1.5rem !important;
        font-weight: 500; }
        .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta .bs-post-date i:before, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta .bs-post-date i:before {
          background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/calendar-icon.svg) no-repeat center center;
          content: '';
          display: inline-block;
          height: 1.4375rem;
          margin-right: 0.375rem;
          position: relative;
          top: 0.125rem;
          width: 1.375rem; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta .bs-entry-meta, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta .bs-entry-meta {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        margin-bottom: 0; }
        .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta .bs-entry-meta p, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta .bs-entry-meta p {
          border: 0;
          display: block;
          margin: 0;
          padding: 0;
          width: 100%; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .entry-content, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .entry-content {
      border-top: 0;
      border-bottom: 0; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .entry-content h3, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .entry-content h3 {
        font-size: 2.5rem !important;
        text-align: center;
        text-transform: uppercase; }
        .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .entry-content h3 a, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .entry-content h3 a {
          color: #2c2b79;
          font-weight: 500;
          text-decoration: none; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .bs-post-excerpt, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .bs-post-excerpt {
      font-size: 1.5625rem;
      margin-bottom: 0.9375rem; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer a, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer a {
      border: 0.125rem solid #2c2b79;
      border-radius: 2.1875rem;
      color: #2c2b79;
      display: inline-block;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      font-size: 1.3125rem;
      font-weight: 500;
      padding: 0.375rem 1.875rem;
      text-decoration: none;
      transition: background 0.2s ease-out; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer a:hover, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer a:focus, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer a:hover, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer a:focus {
        background: #ec2027;
        border: 0.125rem solid #ec2027;
        color: #FFFFFF; }
  .bs-blog-loop.bs-blog-loop-grid.grid-2-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-2-cols article.bs-single-post {
    width: calc(50% - 4.375rem); }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-2-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-2-cols article.bs-single-post {
        width: calc(100% - 4.375rem); } }
  .bs-blog-loop.bs-blog-loop-grid.grid-3-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-3-cols article.bs-single-post {
    width: calc(33.3333% - 4.375rem); }
    @media only screen and (max-width: 47.9375em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-3-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-3-cols article.bs-single-post {
        width: calc(50% - 4.375rem); } }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-3-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-3-cols article.bs-single-post {
        width: calc(100% - 4.375rem); } }
  .bs-blog-loop.bs-blog-loop-grid.grid-4-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-4-cols article.bs-single-post {
    width: calc(25% - 4.375rem); }
    @media only screen and (max-width: 64em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-4-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-4-cols article.bs-single-post {
        width: calc(50% - 4.375rem); } }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-4-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-4-cols article.bs-single-post {
        width: calc(100% - 4.375rem); } }
  .bs-blog-loop.bs-blog-loop-grid nav.custom-pagination, .bs-blog-loop.bs-blog-loop-carousel nav.custom-pagination {
    margin-left: 1.875rem; }

.bs-blog-loop.bs-blog-loop-carousel article.bs-single-post {
  box-shadow: none !important; }

.bs-blog-loop.bs-blog-loop-carousel .slick-list {
  width: 100%; }

.bs-blog-loop.bs-blog-loop-carousel ul.slick-dots {
  margin-bottom: 2.1875rem;
  margin-left: 1.875rem;
  margin-top: -1.875rem;
  position: relative;
  width: calc(100% - 1.875rem);
  z-index: 99; }
  .bs-blog-loop.bs-blog-loop-carousel ul.slick-dots li:only-child {
    display: none; }

.bs-blog-loop nav.custom-pagination {
  border-top: 0.125rem solid #2c2b79;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  margin-top: 1.25rem;
  padding-top: 0.9375rem;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 50em) {
    .bs-blog-loop nav.custom-pagination {
      margin-left: 0.9375rem; } }
  .bs-blog-loop nav.custom-pagination .page-numbers {
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 700;
    height: 1.875rem;
    line-height: 1.875rem;
    text-align: center;
    text-decoration: none;
    width: 1.875rem; }
  .bs-blog-loop nav.custom-pagination span.page-numbers.page-num {
    font-weight: 700;
    width: auto; }
  .bs-blog-loop nav.custom-pagination span.pipe-separator {
    font-size: 1.25rem;
    margin: 0 0.4375rem; }
  .bs-blog-loop nav.custom-pagination span.page-numbers.current {
    background: #ec2027;
    color: #FFFFFF !important; }
  .bs-blog-loop nav.custom-pagination a.page-numbers {
    transition: all 0.2s ease-out; }
    .bs-blog-loop nav.custom-pagination a.page-numbers:hover, .bs-blog-loop nav.custom-pagination a.page-numbers:focus {
      background: #2c2b79;
      color: #FFFFFF; }

/* 6b. Comments Section Styles */
section#comments {
  background: #f2f2f2;
  margin: 2rem 0 0 0;
  padding: 0.9375rem; }
  section#comments ol.comment-list {
    list-style: none;
    margin: 0; }
    section#comments ol.comment-list > li {
      border-left: 0.125rem solid #2c2b79;
      margin-bottom: 2.5rem;
      padding-left: 0.625rem; }
      section#comments ol.comment-list > li:last-child {
        margin-bottom: 0; }
      section#comments ol.comment-list > li p:last-of-type {
        margin-bottom: 0; }
    section#comments ol.comment-list header.comment-author {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      section#comments ol.comment-list header.comment-author img {
        margin-right: 0.625rem; }
      section#comments ol.comment-list header.comment-author time {
        display: block;
        font-size: 0.75rem;
        line-height: 1; }
      section#comments ol.comment-list header.comment-author cite {
        color: #000000;
        font-size: 0.875rem; }
    section#comments ol.comment-list ul.children {
      list-style: none;
      margin: 0.9375rem 0 0 0; }
      section#comments ol.comment-list ul.children li {
        border-left: 0.125rem solid #2c2b79;
        padding-bottom: 1.25rem;
        padding-left: 0.625rem; }
        section#comments ol.comment-list ul.children li:last-child {
          padding-bottom: 0; }
        section#comments ol.comment-list ul.children li p:last-of-type {
          margin-bottom: 0; }
    section#comments ol.comment-list a.comment-reply-link {
      display: block;
      font-weight: 700;
      font-size: 0.875rem; }

section#respond {
  background: #f2f2f2;
  margin: 2rem 0 0 0;
  padding: 0.9375rem; }
  section#respond p:last-of-type {
    margin: 0; }
  section#respond form#commentform input[type="text"], section#respond form#commentform textarea {
    border: 0.0625rem solid #2c2b79;
    border-radius: 0.1875rem;
    box-shadow: none;
    min-height: 2.8125rem; }
  section#respond form#commentform input.button {
    font-size: 1rem;
    padding: 0.625rem; }
  section#respond form#commentform label {
    font-weight: 700; }

/* 6c. AJAX Blog Loop Shortcode Styles */
.bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left {
    height: auto;
    width: 33.3333%; }
    @media only screen and (max-width: 50em) {
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left {
        width: 100%; } }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      height: auto;
      list-style: none;
      margin-left: -0.9375rem;
      margin-bottom: 1.875rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images li {
        margin-bottom: 0.5rem;
        padding-left: 0.9375rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images .slick-slide, .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images .slick-track {
        height: auto !important;
        transition: height 0.2s ease-out; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images button.slick-arrow {
        bottom: -1.25rem;
        cursor: pointer !important;
        height: 1.25rem;
        left: 0;
        line-height: 1.25rem;
        padding-left: 0.9375rem;
        position: absolute;
        text-align: center;
        width: 50%; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images button.slick-next {
        left: auto;
        right: 0; }
  .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right {
    background: #FFFFFF;
    margin-left: 1.875rem;
    position: relative;
    transition: all .5s ease-out;
    width: calc(66.6666% - 1.875rem); }
    @media only screen and (max-width: 50em) {
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right {
        margin-left: 0;
        width: 100%; } }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right.loading {
      background: rgba(0, 0, 0, 0.25); }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right.loaded {
      background: #FFFFFF; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-ajax-swap-area.ajax-loading {
      display: none; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right img.loading-animation {
      left: 50%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
              transform: translateX(-50%) translateY(-50%); }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-featured-image img {
      height: auto;
      width: 100%; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-title {
      margin-bottom: 0.625rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-title h3 a {
        display: inline-block; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-bottom: 0.625rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p {
        margin-bottom: 0.3125rem; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p a {
          display: inline-block; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p i {
          display: inline-block;
          font-size: 1.25rem;
          line-height: 1.5rem;
          margin-right: 0.1875rem;
          min-height: 1.5rem;
          text-align: center;
          width: 1.5rem; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-date {
          -webkit-order: 1;
              -ms-flex-order: 1;
                  order: 1; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-byline {
          -webkit-order: 2;
              -ms-flex-order: 2;
                  order: 2; }
          .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-byline span.avatar img {
            height: auto;
            margin-right: 0.1875rem;
            mix-blend-mode: multiply;
            width: 1.5rem; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-cats {
          -webkit-order: 3;
              -ms-flex-order: 3;
                  order: 3; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-comments {
          -webkit-order: 4;
              -ms-flex-order: 4;
                  order: 4; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-footer a {
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 1;
      text-transform: uppercase; }

/**** 7. PORTFOLIO STYLES ****/
/**** 8. SERVICES STYLES ****/
/**** 9. STAFF STYLES ****/
/* Single Staff Item Styles */
.single-staff .main-content .staff-featured-image {
  margin-top: 0.3125rem;
  max-width: 20.625rem;
  width: 100%; }

.single-staff .main-content ul.staff-category {
  list-style: none;
  margin: 0 0 0.9375rem 0;
  text-align: left; }
  .single-staff .main-content ul.staff-category li {
    display: inline-block;
    padding-right: 0.25rem; }
    .single-staff .main-content ul.staff-category li.cat-name {
      padding-right: 0.375rem; }
    .single-staff .main-content ul.staff-category li.cat-name:after {
      content: ','; }
    .single-staff .main-content ul.staff-category li.cat-name:last-child:after {
      content: ''; }

/* Staff Shortcode Styles */
.staffs-wrapper .staff-filter-toggle {
  display: none;
  margin-bottom: 0.9375rem; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper .staff-filter-toggle {
      display: block; } }
  .staffs-wrapper .staff-filter-toggle a {
    background: #2c2b79;
    color: #FFFFFF;
    display: inline-block;
    font-weight: 700;
    padding: 0.625rem;
    text-decoration: none; }

.staffs-wrapper ul#filters, .staffs-wrapper ul[id*="filters-"] {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style: none;
  margin: 0 0 1.25rem -0.9375rem;
  width: 100%;
  transition: opacity 0.2s ease-out; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper ul#filters, .staffs-wrapper ul[id*="filters-"] {
      display: none;
      margin: 0 0 1.25rem 0; } }
  .staffs-wrapper ul#filters li, .staffs-wrapper ul[id*="filters-"] li {
    padding-left: 0.9375rem; }
    @media only screen and (max-width: 47.9375em) {
      .staffs-wrapper ul#filters li, .staffs-wrapper ul[id*="filters-"] li {
        margin-bottom: 0.125rem;
        padding-left: 0; } }
    .staffs-wrapper ul#filters li a, .staffs-wrapper ul[id*="filters-"] li a {
      background: #2c2b79;
      color: #FFFFFF;
      display: block;
      font-weight: 700;
      padding: 0.375rem 0.9375rem;
      text-align: center;
      text-decoration: none; }
      .staffs-wrapper ul#filters li a.active, .staffs-wrapper ul#filters li a:hover, .staffs-wrapper ul#filters li a:focus, .staffs-wrapper ul[id*="filters-"] li a.active, .staffs-wrapper ul[id*="filters-"] li a:hover, .staffs-wrapper ul[id*="filters-"] li a:focus {
        background: #ec2027; }

.staffs-wrapper .single-staff-item .staff-thumbnail a {
  display: block;
  overflow: hidden; }
  .staffs-wrapper .single-staff-item .staff-thumbnail a img {
    transition: all 0.2s ease-out; }

.staffs-wrapper .single-staff-item:hover .staff-thumbnail a img, .staffs-wrapper .single-staff-item:focus .staff-thumbnail a img {
  -webkit-transform: scale(1.1) rotate(3deg);
      -ms-transform: scale(1.1) rotate(3deg);
          transform: scale(1.1) rotate(3deg); }

.staffs-wrapper.staffs-display-grid.grid-cols-1 .single-staff-item {
  width: 100%; }

.staffs-wrapper.staffs-display-grid.grid-cols-2 .single-staff-item {
  width: 50%; }
  @media only screen and (max-width: 25em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-2 .single-staff-item {
      width: 100%; } }

.staffs-wrapper.staffs-display-grid.grid-cols-3 .single-staff-item {
  width: 33.3333%; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-3 .single-staff-item {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-3 .single-staff-item {
      width: 100%; } }

.staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
  width: 25%; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
      width: 33.3333%; } }
  @media only screen and (max-width: 37.5em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
      width: 100%; } }

.staffs-wrapper.staffs-display-grid .staffs-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 0 -2.5rem -2.5rem;
  transition: height 0.2s ease-out; }
  .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item {
    margin-bottom: 2.5rem;
    padding-left: 2.5rem; }
    .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link {
      cursor: ns-resize;
      display: block;
      text-decoration: none; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link.bio-hidden {
        cursor: auto; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-content {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        position: relative;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; }
        .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-content .staff-excerpt {
          background: rgba(100, 32, 39, 0.87);
          height: 100%;
          opacity: 0;
          overflow: auto;
          padding: 1.25rem;
          position: absolute;
          z-index: 99;
          transition: all 0.2s ease-out; }
          .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-content .staff-excerpt p {
            color: #FFFFFF !important;
            font-size: 1.25rem;
            line-height: 1.2; }
            .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-content .staff-excerpt p:last-of-type {
              margin-bottom: 0; }
          .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-content .staff-excerpt:focus {
            opacity: 1; }
        .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-content img.staff-thumbnail {
          display: block;
          width: 100%;
          height: auto; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-meta {
        margin-top: 1.25rem; }
        .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-meta h4.staff-title {
          color: #642027 !important;
          font-family: "mrs-eaves", Georgia, "Times New Roman", serif;
          letter-spacing: 0.0625em;
          line-height: 1.2;
          text-align: center;
          text-transform: uppercase;
          word-spacing: 0.1875rem;
          width: 100%; }
        .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-meta ul.staff-category {
          line-height: 1.2;
          list-style: none;
          margin: 0;
          text-align: center;
          width: 100%; }
          .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link section.staff-meta ul.staff-category li {
            display: inline-block;
            font-family: "mrs-eaves", Georgia, "Times New Roman", serif;
            font-weight: 700;
            line-height: 1.2; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:hover section.staff-content .staff-excerpt, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:focus section.staff-content .staff-excerpt {
        opacity: 1; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:hover section.staff-content:before, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:focus section.staff-content:before {
        opacity: 1;
        visibility: visible; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:hover section.staff-content h4.staff-title, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:focus section.staff-content h4.staff-title {
        opacity: 1; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:hover section.staff-content ul.staff-category, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item .single-staff-link:focus section.staff-content ul.staff-category {
        opacity: 1; }

.staffs-wrapper.staffs-display-list .single-staff-item {
  border-bottom: 0.0625rem solid #2c2b79;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.5625rem;
  padding-bottom: 1.5625rem; }
  .staffs-wrapper.staffs-display-list .single-staff-item:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  .staffs-wrapper.staffs-display-list .single-staff-item .staff-thumbnail {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 18.75rem; }
    @media only screen and (max-width: 40em) {
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-thumbnail {
        margin-bottom: 0.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; } }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-thumbnail img {
      margin-bottom: 0;
      width: 100%; }
  .staffs-wrapper.staffs-display-list .single-staff-item .staff-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding-right: 1.25rem;
    width: calc(100% - 18.75rem); }
    @media only screen and (max-width: 40em) {
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 0;
        width: 100%; } }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-content p.staff-meta {
      margin-bottom: 0; }
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content p.staff-meta i {
        padding-right: 0.375rem;
        width: 1.25rem; }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category {
      display: inline-block;
      list-style: none;
      margin: 0 0 0.625rem 0;
      text-align: left;
      width: 100%; }
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li {
        display: inline-block;
        padding-right: 0.375rem;
        width: 1.4375rem; }
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li.cat-name {
        width: auto; }
        .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li.cat-name:after {
          content: ','; }
        .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li.cat-name:last-of-type:after {
          content: ''; }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-content .staff-read-more {
      font-weight: 700; }

/**** 10. 404 PAGE STYLES ****/
.error404 .main-wrap.no-sidebar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .error404 .main-wrap.no-sidebar article.main-content {
    max-width: 50rem;
    width: 100%; }

/**** 11. FOOTER STYLES ****/
footer.footer .widget {
  padding: 0 0.9375rem; }
  @media only screen and (max-width: 40em) {
    footer.footer .widget {
      margin-bottom: 2.5rem; }
      footer.footer .widget:last-of-type {
        margin-bottom: 0; } }
  footer.footer .widget p:last-of-type {
    margin-bottom: 0; }

footer.footer h6 {
  font-size: 1.5rem !important;
  margin-bottom: 0.3125rem !important;
  text-align: left; }

footer.footer ul.menu {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  footer.footer ul.menu li {
    display: block;
    padding: 0; }
    footer.footer ul.menu li a {
      padding: 0;
      display: block;
      line-height: 1.6;
      text-transform: capitalize;
      transition: color 0.2s ease-out; }
    footer.footer ul.menu li.is-active a {
      background: none;
      color: inherit; }

div#bs-sitewide-popup .bs-popup-overlay {
  background: rgba(0, 0, 0, 0.85);
  bottom: 0;
  cursor: pointer !important;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1000; }

div#bs-sitewide-popup .bs-popup-inner {
  background: #FFFFFF;
  border: 0.125rem solid #2c2b79;
  left: 50%;
  margin: 0 auto;
  max-height: 80vh;
  max-width: calc(100% - 1.875rem);
  padding: 1.875rem;
  position: fixed;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 37.5rem;
  z-index: 1001;
  transition: all 0.2s ease-out; }
  div#bs-sitewide-popup .bs-popup-inner h2, div#bs-sitewide-popup .bs-popup-inner h3, div#bs-sitewide-popup .bs-popup-inner h4, div#bs-sitewide-popup .bs-popup-inner h5, div#bs-sitewide-popup .bs-popup-inner h6 {
    color: #2c2b79; }
  div#bs-sitewide-popup .bs-popup-inner p {
    color: #000000; }

div#bs-sitewide-popup .bs-popup-close {
  background: #000000;
  color: #FFFFFF;
  cursor: pointer !important;
  font-size: 2.5rem;
  line-height: 5rem;
  height: 5rem;
  pointer-events: none;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  width: 5rem;
  z-index: 1001; }

div#bs-sitewide-popup .bs-popup-hide-forever {
  font-weight: 700; }

div#bs-sitewide-popup.popup-bottom-left .bs-popup-inner, div#bs-sitewide-popup.popup-bottom-right .bs-popup-inner, div#bs-sitewide-popup.popup-bottom-full .bs-popup-inner {
  bottom: 0;
  left: -3.125rem;
  right: auto;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  top: auto; }

div#bs-sitewide-popup.popup-bottom-right .bs-popup-inner {
  left: auto;
  right: -3.125rem; }

div#bs-sitewide-popup.popup-bottom-full .bs-popup-inner {
  left: 0;
  max-width: 100%;
  right: 0;
  width: 100%; }

div#instafeed.has-arrows {
  padding: 0 1.875rem;
  position: relative; }
  div#instafeed.has-arrows .slick-arrow {
    background: #2c2b79;
    border-radius: 0.1875rem;
    color: #FFFFFF;
    cursor: pointer;
    height: 1.5rem;
    position: absolute;
    top: calc(50% - 1rem);
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.5rem;
    transition: background 0.2s ease-out; }
    div#instafeed.has-arrows .slick-arrow:hover, div#instafeed.has-arrows .slick-arrow:focus {
      background: #ec2027; }
    div#instafeed.has-arrows .slick-arrow.slick-prev {
      left: 0; }
    div#instafeed.has-arrows .slick-arrow.slick-next {
      right: 0; }

div#instafeed a.instagram-image {
  overflow: hidden;
  position: relative; }
  div#instafeed a.instagram-image span.ig-caption {
    background: #2c2b79;
    bottom: 0;
    color: #FFFFFF;
    display: block;
    opacity: 0;
    position: absolute;
    text-align: center;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
    width: 100%;
    transition: all 0.2s ease-out; }
  div#instafeed a.instagram-image img {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    transition: all 0.2s ease-out; }
  div#instafeed a.instagram-image:hover span.ig-caption, div#instafeed a.instagram-image:focus span.ig-caption {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  div#instafeed a.instagram-image:hover img, div#instafeed a.instagram-image:focus img {
    -webkit-transform: scale(1.1) rotate(3deg);
        -ms-transform: scale(1.1) rotate(3deg);
            transform: scale(1.1) rotate(3deg); }

div#instafeed .slick-list.draggable {
  margin-left: -1.25rem; }
  div#instafeed .slick-list.draggable .slick-slide {
    margin-left: 1.25rem; }

ul.slick-dots {
  line-height: 1;
  list-style: none;
  margin: 0.9375rem 0 0;
  text-align: center; }
  ul.slick-dots li {
    background: #FFFFFF;
    border: 0.125rem solid #2c2b79;
    border-radius: 100%;
    cursor: pointer;
    display: inline-block;
    height: 0.875rem;
    margin: 0 0.3125rem;
    text-indent: -9999px;
    width: 0.875rem; }
    ul.slick-dots li.slick-active {
      background: #2c2b79; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

input::-webkit-inner-spin-button {
  opacity: 1; }

body.product-filters-visible {
  overflow: hidden; }

html body.woocommerce .select2-container .select2-selection .select2-selection__placeholder, html body.woocommerce-page .select2-container .select2-selection .select2-selection__placeholder, div.woocommerce .select2-container .select2-selection .select2-selection__placeholder {
  color: #8383a4 !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.25rem;
  font-weight: 500;
  text-transform: uppercase; }

html body.woocommerce .select2-container .select2-selection__rendered, html body.woocommerce-page .select2-container .select2-selection__rendered, div.woocommerce .select2-container .select2-selection__rendered {
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.375rem;
  font-weight: 500; }

html body.woocommerce .select2-container ul.select2-results__options li, html body.woocommerce-page .select2-container ul.select2-results__options li, div.woocommerce .select2-container ul.select2-results__options li {
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.25rem;
  font-weight: 500;
  text-transform: uppercase; }

html body.woocommerce span.required, html body.woocommerce-page span.required, div.woocommerce span.required {
  color: #ec2027 !important; }

html body.woocommerce .star-rating:before, html body.woocommerce-page .star-rating:before, div.woocommerce .star-rating:before {
  color: #b99c00; }

html body.woocommerce .star-rating span, html body.woocommerce-page .star-rating span, div.woocommerce .star-rating span {
  font-family: star !important; }
  html body.woocommerce .star-rating span:before, html body.woocommerce-page .star-rating span:before, div.woocommerce .star-rating span:before {
    color: #b99c00 !important; }

html body.woocommerce p.woocommerce-result-count, html body.woocommerce-page p.woocommerce-result-count, div.woocommerce p.woocommerce-result-count {
  font-weight: 700;
  text-transform: uppercase; }

html body.woocommerce form.woocommerce-ordering select, html body.woocommerce-page form.woocommerce-ordering select, div.woocommerce form.woocommerce-ordering select {
  border: 0.0625rem solid #2c2b79;
  border-radius: 0.375rem; }

@media only screen and (max-width: 47.9375em) {
  html body.woocommerce .breadcrumbs-wrapper, html body.woocommerce-page .breadcrumbs-wrapper, div.woocommerce .breadcrumbs-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: calc(100% - 12.5rem); } }

html body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb, html body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb, div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb {
  color: #333;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 1rem 0 !important; }
  html body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, html body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0.625rem; }
  html body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, html body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 1.25rem;
    font-weight: 700; }

html body.woocommerce .breadcrumbs-wrapper.shop-layout-narrow-content, html body.woocommerce-page .breadcrumbs-wrapper.shop-layout-narrow-content, div.woocommerce .breadcrumbs-wrapper.shop-layout-narrow-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 51.875rem;
  width: 100%; }

html body.woocommerce .toggle-shop-filters, html body.woocommerce-page .toggle-shop-filters, div.woocommerce .toggle-shop-filters {
  display: none;
  position: absolute;
  right: 0.9375rem;
  top: 0.5625rem;
  z-index: 100; }
  @media only screen and (max-width: 47.9375em) {
    html body.woocommerce .toggle-shop-filters, html body.woocommerce-page .toggle-shop-filters, div.woocommerce .toggle-shop-filters {
      display: block; } }

html body.woocommerce .bs-featured-product, html body.woocommerce-page .bs-featured-product, div.woocommerce .bs-featured-product {
  margin-bottom: 5rem; }
  html body.woocommerce .bs-featured-product .featured-product-inner, html body.woocommerce-page .bs-featured-product .featured-product-inner, div.woocommerce .bs-featured-product .featured-product-inner {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    border: 0.625rem double #2c2b79;
    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; }
    html body.woocommerce .bs-featured-product .featured-product-inner .product-featured-image, html body.woocommerce-page .bs-featured-product .featured-product-inner .product-featured-image, div.woocommerce .bs-featured-product .featured-product-inner .product-featured-image {
      padding: 1.25rem 0;
      text-align: center;
      width: 33.3333%; }
      @media only screen and (max-width: 64em) {
        html body.woocommerce .bs-featured-product .featured-product-inner .product-featured-image, html body.woocommerce-page .bs-featured-product .featured-product-inner .product-featured-image, div.woocommerce .bs-featured-product .featured-product-inner .product-featured-image {
          width: 100%; } }
    html body.woocommerce .bs-featured-product .featured-product-inner .entry-content, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content, div.woocommerce .bs-featured-product .featured-product-inner .entry-content {
      padding: 0.9375rem 5%;
      text-align: center;
      width: 66.6666%; }
      @media only screen and (max-width: 64em) {
        html body.woocommerce .bs-featured-product .featured-product-inner .entry-content, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content, div.woocommerce .bs-featured-product .featured-product-inner .entry-content {
          width: 100%; } }
      html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-product-title h3, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-product-title h3, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-product-title h3 {
        margin-bottom: 1.25rem;
        text-align: center; }
        html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-product-title h3 a, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-product-title h3 a, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-product-title h3 a {
          color: #2c2b79;
          font-weight: 500;
          text-decoration: none;
          text-transform: uppercase; }
      html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-product-excerpt, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-product-excerpt, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-product-excerpt {
        font-size: 1.25rem; }
      html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        border: 0 !important;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 1.25rem;
        font-weight: 500;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0 !important; }
        html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product > *, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product > *, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product > * {
          margin: 0 0.3125rem; }
        html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product span.woocommerce-Price-amount:before, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product span.woocommerce-Price-amount:before, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product span.woocommerce-Price-amount:before {
          content: 'Price: ';
          text-transform: uppercase; }
        html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product a.button:hover, html body.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product a.button:focus, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product a.button:hover, html body.woocommerce-page .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product a.button:focus, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product a.button:hover, div.woocommerce .bs-featured-product .featured-product-inner .entry-content .bs-add-to-cart p.product a.button:focus {
          background: #2c2b79 !important;
          border-color: #2c2b79 !important; }

html body.woocommerce .woocommerce-shop-title, html body.woocommerce-page .woocommerce-shop-title, div.woocommerce .woocommerce-shop-title {
  padding: 1.5625rem 0.9375rem 0; }
  @media only screen and (max-width: 47.9375em) {
    html body.woocommerce .woocommerce-shop-title, html body.woocommerce-page .woocommerce-shop-title, div.woocommerce .woocommerce-shop-title {
      padding: 1.5rem 0.9375rem 1.25rem; } }
  html body.woocommerce .woocommerce-shop-title h1, html body.woocommerce-page .woocommerce-shop-title h1, div.woocommerce .woocommerce-shop-title h1 {
    font-family: "gloss-bloom", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 2.5rem !important;
    font-weight: 400;
    text-align: center; }
    html body.woocommerce .woocommerce-shop-title h1 i, html body.woocommerce-page .woocommerce-shop-title h1 i, div.woocommerce .woocommerce-shop-title h1 i {
      font-size: 1.875rem !important; }
  html body.woocommerce .woocommerce-shop-title.shop-layout-narrow-content, html body.woocommerce-page .woocommerce-shop-title.shop-layout-narrow-content, div.woocommerce .woocommerce-shop-title.shop-layout-narrow-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 51.875rem;
    width: 100%; }

html body.woocommerce .main-wrap.shop-layout-sidebar-left, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left, div.woocommerce .main-wrap.shop-layout-sidebar-left {
  position: relative; }
  html body.woocommerce .main-wrap.shop-layout-sidebar-left article.main-content.woocommerce-index, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-sidebar-left article.main-content.woocommerce-index {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  html body.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar, div.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
    html body.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar a.close-filters, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar a.close-filters, div.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar a.close-filters {
      color: #FFFFFF;
      display: none;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      font-weight: 700;
      padding: 0.9375rem 0;
      text-align: right;
      text-transform: uppercase; }
    @media only screen and (max-width: 47.9375em) {
      html body.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar, div.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar {
        box-shadow: 0.125rem 0.125rem 0.375rem rgba(0, 0, 0, 0.75);
        height: calc(100vh - 7.6875rem);
        overflow: auto;
        position: fixed;
        top: 7.6875rem;
        -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
                transform: translateX(-100%);
        width: 100vw;
        z-index: 1000;
        transition: -webkit-transform 0.2s ease-out;
        transition: transform 0.2s ease-out;
        transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out; }
        html body.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar.is-active, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar.is-active, div.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar.is-active {
          -webkit-transform: translateX(0);
              -ms-transform: translateX(0);
                  transform: translateX(0); }
        html body.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar a.close-filters, html body.woocommerce-page .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar a.close-filters, div.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar a.close-filters {
          display: block; } }

html body.woocommerce .main-wrap.shop-layout-sidebar-right article.main-content.woocommerce-index, html body.woocommerce-page .main-wrap.shop-layout-sidebar-right article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-sidebar-right article.main-content.woocommerce-index {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

html body.woocommerce .main-wrap.shop-layout-sidebar-right aside.woocommerce-sidebar.sidebar, html body.woocommerce-page .main-wrap.shop-layout-sidebar-right aside.woocommerce-sidebar.sidebar, div.woocommerce .main-wrap.shop-layout-sidebar-right aside.woocommerce-sidebar.sidebar {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

html body.woocommerce .main-wrap.shop-layout-full-width article.main-content.woocommerce-index, html body.woocommerce-page .main-wrap.shop-layout-full-width article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-full-width article.main-content.woocommerce-index {
  max-width: 100%;
  width: 100%; }

html body.woocommerce .main-wrap.shop-layout-narrow-content article.main-content.woocommerce-index, html body.woocommerce-page .main-wrap.shop-layout-narrow-content article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-narrow-content article.main-content.woocommerce-index {
  margin-left: auto;
  margin-right: auto;
  max-width: 50rem;
  width: calc(100% - 1.875rem); }

html body.woocommerce aside.woocommerce-sidebar.sidebar, html body.woocommerce-page aside.woocommerce-sidebar.sidebar, div.woocommerce aside.woocommerce-sidebar.sidebar {
  position: relative; }

html body.woocommerce .woocommerce-index h1.page-title, html body.woocommerce-page .woocommerce-index h1.page-title, div.woocommerce .woocommerce-index h1.page-title {
  display: none; }

html body.woocommerce h2.woocommerce-page-title, html body.woocommerce-page h2.woocommerce-page-title, div.woocommerce h2.woocommerce-page-title {
  font-size: 1.875rem !important;
  font-weight: 500;
  margin-bottom: 0.625rem;
  text-align: center;
  text-transform: uppercase; }
  html body.woocommerce h2.woocommerce-page-title + p.woocommerce-result-count, html body.woocommerce-page h2.woocommerce-page-title + p.woocommerce-result-count, div.woocommerce h2.woocommerce-page-title + p.woocommerce-result-count {
    margin-top: -0.625rem; }

@media only screen and (max-width: 47.9375em) {
  html body.woocommerce .woocommerce-ordering, html body.woocommerce-page .woocommerce-ordering, div.woocommerce .woocommerce-ordering {
    float: none;
    max-width: 13.75rem; } }

html body.woocommerce ul.products, html body.woocommerce-page ul.products, div.woocommerce ul.products {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -1.875rem; }
  html body.woocommerce ul.products > li, html body.woocommerce-page ul.products > li, div.woocommerce ul.products > li {
    float: none;
    padding-left: 1.875rem;
    text-align: center; }
    html body.woocommerce ul.products > li .woocommerce-loop-category__title, html body.woocommerce-page ul.products > li .woocommerce-loop-category__title, div.woocommerce ul.products > li .woocommerce-loop-category__title {
      color: #006536 !important;
      font-size: 1.5rem !important;
      padding: 0;
      text-align: center; }
    html body.woocommerce ul.products > li > a, html body.woocommerce-page ul.products > li > a, div.woocommerce ul.products > li > a {
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      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;
      text-align: center;
      text-decoration: none !important; }
      html body.woocommerce ul.products > li > a .image-wrapper, html body.woocommerce-page ul.products > li > a .image-wrapper, div.woocommerce ul.products > li > a .image-wrapper {
        border: 0.0625rem solid #2c2b79;
        margin-bottom: 0.625rem;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        overflow: hidden; }
        html body.woocommerce ul.products > li > a .image-wrapper img, html body.woocommerce-page ul.products > li > a .image-wrapper img, div.woocommerce ul.products > li > a .image-wrapper img {
          margin-bottom: 0; }
      html body.woocommerce ul.products > li > a .woocommerce-loop-product__title, html body.woocommerce-page ul.products > li > a .woocommerce-loop-product__title, div.woocommerce ul.products > li > a .woocommerce-loop-product__title {
        color: #006536 !important;
        display: block;
        font-size: 1.375rem !important;
        font-weight: 500;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        padding: 0 0 0.625rem 0;
        text-align: center;
        text-transform: uppercase;
        width: 100%; }
      html body.woocommerce ul.products > li > a span.price, html body.woocommerce-page ul.products > li > a span.price, div.woocommerce ul.products > li > a span.price {
        display: block;
        font-size: 1.125rem;
        margin-bottom: 0;
        text-align: center;
        width: 100%; }
        html body.woocommerce ul.products > li > a span.price span.amount, html body.woocommerce-page ul.products > li > a span.price span.amount, div.woocommerce ul.products > li > a span.price span.amount {
          color: #2c2b79 !important;
          text-align: center; }
    html body.woocommerce ul.products > li a.button, html body.woocommerce-page ul.products > li a.button, div.woocommerce ul.products > li a.button {
      display: inline-block;
      text-align: center;
      width: auto; }
  html body.woocommerce ul.products > li.product-category.product > a, html body.woocommerce-page ul.products > li.product-category.product > a, div.woocommerce ul.products > li.product-category.product > a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center; }
  html body.woocommerce ul.products > li.product-category.product > a > h2, html body.woocommerce-page ul.products > li.product-category.product > a > h2, div.woocommerce ul.products > li.product-category.product > a > h2 {
    color: #006536 !important;
    font-size: 1.875rem !important;
    font-weight: 500;
    margin-bottom: 0.625rem;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    text-transform: uppercase; }
  html body.woocommerce ul.products > li.product-category.product > a > img, html body.woocommerce-page ul.products > li.product-category.product > a > img, div.woocommerce ul.products > li.product-category.product > a > img {
    margin-bottom: 0.625rem;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  html body.woocommerce ul.products > li.product-category.product > a:after, html body.woocommerce-page ul.products > li.product-category.product > a:after, div.woocommerce ul.products > li.product-category.product > a:after {
    border: 0.125rem solid #2c2b79;
    border-radius: 2.5rem;
    content: 'View All';
    display: block;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    line-height: 1;
    margin: 0 auto;
    max-width: 12.5rem;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    padding: 0.4375rem 1.875rem;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    transition: background 0.2s ease-out; }
  html body.woocommerce ul.products > li.product-category.product > a:hover:after,
  html body.woocommerce ul.products > li.product-category.product > a:focus:after, html body.woocommerce-page ul.products > li.product-category.product > a:hover:after,
  html body.woocommerce-page ul.products > li.product-category.product > a:focus:after, div.woocommerce ul.products > li.product-category.product > a:hover:after,
  div.woocommerce ul.products > li.product-category.product > a:focus:after {
    background: #2c2b79;
    color: #FFFFFF; }
  html body.woocommerce ul.products.columns-2, html body.woocommerce ul.products.columns-3, html body.woocommerce ul.products.columns-4, html body.woocommerce-page ul.products.columns-2, html body.woocommerce-page ul.products.columns-3, html body.woocommerce-page ul.products.columns-4, div.woocommerce ul.products.columns-2, div.woocommerce ul.products.columns-3, div.woocommerce ul.products.columns-4 {
    margin-left: -1.875rem;
    margin-bottom: 0; }
    html body.woocommerce ul.products.columns-2 > li, html body.woocommerce ul.products.columns-3 > li, html body.woocommerce ul.products.columns-4 > li, html body.woocommerce-page ul.products.columns-2 > li, html body.woocommerce-page ul.products.columns-3 > li, html body.woocommerce-page ul.products.columns-4 > li, div.woocommerce ul.products.columns-2 > li, div.woocommerce ul.products.columns-3 > li, div.woocommerce ul.products.columns-4 > li {
      margin: 0 0 2.8125rem 0;
      padding-left: 1.875rem;
      width: 33.3333%; }
      html body.woocommerce ul.products.columns-2 > li.last, html body.woocommerce ul.products.columns-3 > li.last, html body.woocommerce ul.products.columns-4 > li.last, html body.woocommerce-page ul.products.columns-2 > li.last, html body.woocommerce-page ul.products.columns-3 > li.last, html body.woocommerce-page ul.products.columns-4 > li.last, div.woocommerce ul.products.columns-2 > li.last, div.woocommerce ul.products.columns-3 > li.last, div.woocommerce ul.products.columns-4 > li.last {
        margin: 0 0 2.8125rem 0; }
      @media only screen and (max-width: 47.9375em) {
        html body.woocommerce ul.products.columns-2 > li, html body.woocommerce ul.products.columns-3 > li, html body.woocommerce ul.products.columns-4 > li, html body.woocommerce-page ul.products.columns-2 > li, html body.woocommerce-page ul.products.columns-3 > li, html body.woocommerce-page ul.products.columns-4 > li, div.woocommerce ul.products.columns-2 > li, div.woocommerce ul.products.columns-3 > li, div.woocommerce ul.products.columns-4 > li {
          width: 50%; } }
      @media only screen and (max-width: 37.5em) {
        html body.woocommerce ul.products.columns-2 > li, html body.woocommerce ul.products.columns-3 > li, html body.woocommerce ul.products.columns-4 > li, html body.woocommerce-page ul.products.columns-2 > li, html body.woocommerce-page ul.products.columns-3 > li, html body.woocommerce-page ul.products.columns-4 > li, div.woocommerce ul.products.columns-2 > li, div.woocommerce ul.products.columns-3 > li, div.woocommerce ul.products.columns-4 > li {
          width: 100%; }
          html body.woocommerce ul.products.columns-2 > li.last, html body.woocommerce ul.products.columns-3 > li.last, html body.woocommerce ul.products.columns-4 > li.last, html body.woocommerce-page ul.products.columns-2 > li.last, html body.woocommerce-page ul.products.columns-3 > li.last, html body.woocommerce-page ul.products.columns-4 > li.last, div.woocommerce ul.products.columns-2 > li.last, div.woocommerce ul.products.columns-3 > li.last, div.woocommerce ul.products.columns-4 > li.last {
            margin: 0; }
          html body.woocommerce ul.products.columns-2 > li.last + li.product.first, html body.woocommerce ul.products.columns-3 > li.last + li.product.first, html body.woocommerce ul.products.columns-4 > li.last + li.product.first, html body.woocommerce-page ul.products.columns-2 > li.last + li.product.first, html body.woocommerce-page ul.products.columns-3 > li.last + li.product.first, html body.woocommerce-page ul.products.columns-4 > li.last + li.product.first, div.woocommerce ul.products.columns-2 > li.last + li.product.first, div.woocommerce ul.products.columns-3 > li.last + li.product.first, div.woocommerce ul.products.columns-4 > li.last + li.product.first {
            margin: 2.8125rem 0 !important; } }
      html body.woocommerce ul.products.columns-2 > li a.woocommerce-LoopProduct-link, html body.woocommerce ul.products.columns-3 > li a.woocommerce-LoopProduct-link, html body.woocommerce ul.products.columns-4 > li a.woocommerce-LoopProduct-link, html body.woocommerce-page ul.products.columns-2 > li a.woocommerce-LoopProduct-link, html body.woocommerce-page ul.products.columns-3 > li a.woocommerce-LoopProduct-link, html body.woocommerce-page ul.products.columns-4 > li a.woocommerce-LoopProduct-link, div.woocommerce ul.products.columns-2 > li a.woocommerce-LoopProduct-link, div.woocommerce ul.products.columns-3 > li a.woocommerce-LoopProduct-link, div.woocommerce ul.products.columns-4 > li a.woocommerce-LoopProduct-link {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-bottom: 0.625rem; }
      html body.woocommerce ul.products.columns-2 > li h2.woocommerce-loop-product__title, html body.woocommerce ul.products.columns-3 > li h2.woocommerce-loop-product__title, html body.woocommerce ul.products.columns-4 > li h2.woocommerce-loop-product__title, html body.woocommerce-page ul.products.columns-2 > li h2.woocommerce-loop-product__title, html body.woocommerce-page ul.products.columns-3 > li h2.woocommerce-loop-product__title, html body.woocommerce-page ul.products.columns-4 > li h2.woocommerce-loop-product__title, div.woocommerce ul.products.columns-2 > li h2.woocommerce-loop-product__title, div.woocommerce ul.products.columns-3 > li h2.woocommerce-loop-product__title, div.woocommerce ul.products.columns-4 > li h2.woocommerce-loop-product__title {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      html body.woocommerce ul.products.columns-2 > li div.star-rating, html body.woocommerce ul.products.columns-3 > li div.star-rating, html body.woocommerce ul.products.columns-4 > li div.star-rating, html body.woocommerce-page ul.products.columns-2 > li div.star-rating, html body.woocommerce-page ul.products.columns-3 > li div.star-rating, html body.woocommerce-page ul.products.columns-4 > li div.star-rating, div.woocommerce ul.products.columns-2 > li div.star-rating, div.woocommerce ul.products.columns-3 > li div.star-rating, div.woocommerce ul.products.columns-4 > li div.star-rating {
        margin-left: 0.9375rem;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      html body.woocommerce ul.products.columns-2 > li .image-wrapper, html body.woocommerce ul.products.columns-3 > li .image-wrapper, html body.woocommerce ul.products.columns-4 > li .image-wrapper, html body.woocommerce-page ul.products.columns-2 > li .image-wrapper, html body.woocommerce-page ul.products.columns-3 > li .image-wrapper, html body.woocommerce-page ul.products.columns-4 > li .image-wrapper, div.woocommerce ul.products.columns-2 > li .image-wrapper, div.woocommerce ul.products.columns-3 > li .image-wrapper, div.woocommerce ul.products.columns-4 > li .image-wrapper {
        margin-bottom: 0.625rem;
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
      html body.woocommerce ul.products.columns-2 > li span.price, html body.woocommerce ul.products.columns-3 > li span.price, html body.woocommerce ul.products.columns-4 > li span.price, html body.woocommerce-page ul.products.columns-2 > li span.price, html body.woocommerce-page ul.products.columns-3 > li span.price, html body.woocommerce-page ul.products.columns-4 > li span.price, div.woocommerce ul.products.columns-2 > li span.price, div.woocommerce ul.products.columns-3 > li span.price, div.woocommerce ul.products.columns-4 > li span.price {
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
        font-size: 1.5rem;
        line-height: 1;
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4;
        padding: 0 0.9375rem;
        text-align: center; }
      html body.woocommerce ul.products.columns-2 > li .button, html body.woocommerce ul.products.columns-3 > li .button, html body.woocommerce ul.products.columns-4 > li .button, html body.woocommerce-page ul.products.columns-2 > li .button, html body.woocommerce-page ul.products.columns-3 > li .button, html body.woocommerce-page ul.products.columns-4 > li .button, div.woocommerce ul.products.columns-2 > li .button, div.woocommerce ul.products.columns-3 > li .button, div.woocommerce ul.products.columns-4 > li .button {
        color: #ec2027 !important;
        display: block;
        margin: 0 auto;
        max-width: 12.5rem;
        -webkit-order: 5;
            -ms-flex-order: 5;
                order: 5;
        text-align: center;
        width: 100%; }
        html body.woocommerce ul.products.columns-2 > li .button:hover, html body.woocommerce ul.products.columns-2 > li .button:focus, html body.woocommerce ul.products.columns-3 > li .button:hover, html body.woocommerce ul.products.columns-3 > li .button:focus, html body.woocommerce ul.products.columns-4 > li .button:hover, html body.woocommerce ul.products.columns-4 > li .button:focus, html body.woocommerce-page ul.products.columns-2 > li .button:hover, html body.woocommerce-page ul.products.columns-2 > li .button:focus, html body.woocommerce-page ul.products.columns-3 > li .button:hover, html body.woocommerce-page ul.products.columns-3 > li .button:focus, html body.woocommerce-page ul.products.columns-4 > li .button:hover, html body.woocommerce-page ul.products.columns-4 > li .button:focus, div.woocommerce ul.products.columns-2 > li .button:hover, div.woocommerce ul.products.columns-2 > li .button:focus, div.woocommerce ul.products.columns-3 > li .button:hover, div.woocommerce ul.products.columns-3 > li .button:focus, div.woocommerce ul.products.columns-4 > li .button:hover, div.woocommerce ul.products.columns-4 > li .button:focus {
          background: #2c2b79 !important;
          color: #FFFFFF !important; }
  html body.woocommerce ul.products.columns-2 > li.product, html body.woocommerce-page ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-2 > li.product {
    width: 50%; }
    @media only screen and (max-width: 37.5em) {
      html body.woocommerce ul.products.columns-2 > li.product, html body.woocommerce-page ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-2 > li.product {
        width: 100%; } }
  html body.woocommerce ul.products.columns-4 > li.product, html body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
    width: 25%; }
    @media only screen and (max-width: 64em) {
      html body.woocommerce ul.products.columns-4 > li.product, html body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
        clear: none !important;
        width: 33.3333%; } }
    @media only screen and (max-width: 47.9375em) {
      html body.woocommerce ul.products.columns-4 > li.product, html body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
        width: 50%; } }
    @media only screen and (max-width: 37.5em) {
      html body.woocommerce ul.products.columns-4 > li.product, html body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
        width: 100%; } }

html body.woocommerce .product-top-wrapper, html body.woocommerce-page .product-top-wrapper, div.woocommerce .product-top-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 48em) {
    html body.woocommerce .product-top-wrapper, html body.woocommerce-page .product-top-wrapper, div.woocommerce .product-top-wrapper {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  html body.woocommerce .product-top-wrapper span.onsale, html body.woocommerce-page .product-top-wrapper span.onsale, div.woocommerce .product-top-wrapper span.onsale {
    left: 0 !important; }
  html body.woocommerce .product-top-wrapper div.woocommerce-product-gallery, html body.woocommerce-page .product-top-wrapper div.woocommerce-product-gallery, div.woocommerce .product-top-wrapper div.woocommerce-product-gallery {
    margin-bottom: 0; }
  html body.woocommerce .product-top-wrapper div.summary.entry-summary, html body.woocommerce-page .product-top-wrapper div.summary.entry-summary, div.woocommerce .product-top-wrapper div.summary.entry-summary {
    float: none;
    margin-bottom: 0; }

html body.woocommerce span.onsale, html body.woocommerce-page span.onsale, div.woocommerce span.onsale {
  background: #2c2b79;
  border-radius: 0;
  color: #FFFFFF !important;
  height: auto;
  line-height: 1;
  margin: 0.5rem 0.0625rem 0 0 !important;
  min-height: 0;
  min-width: 0;
  padding: 0.625rem;
  position: absolute;
  text-transform: uppercase;
  width: auto; }
  html body.woocommerce span.onsale:before, html body.woocommerce span.onsale:after, html body.woocommerce-page span.onsale:before, html body.woocommerce-page span.onsale:after, div.woocommerce span.onsale:before, div.woocommerce span.onsale:after {
    border: 1.0625rem solid transparent;
    content: '';
    height: 0.0625rem;
    left: -1.0625rem;
    position: absolute;
    width: 0.0625rem; }
  html body.woocommerce span.onsale:before, html body.woocommerce-page span.onsale:before, div.woocommerce span.onsale:before {
    border-top-color: #2c2b79;
    top: 0; }
  html body.woocommerce span.onsale:after, html body.woocommerce-page span.onsale:after, div.woocommerce span.onsale:after {
    border-bottom-color: #2c2b79;
    bottom: 0; }

html body.woocommerce .product.sale span.onsale, html body.woocommerce-page .product.sale span.onsale, div.woocommerce .product.sale span.onsale {
  border-radius: 0;
  left: 1.875rem;
  padding: 0.625rem;
  right: auto;
  top: 0; }
  html body.woocommerce .product.sale span.onsale:before, html body.woocommerce .product.sale span.onsale:after, html body.woocommerce-page .product.sale span.onsale:before, html body.woocommerce-page .product.sale span.onsale:after, div.woocommerce .product.sale span.onsale:before, div.woocommerce .product.sale span.onsale:after {
    left: auto;
    right: -1.0625rem; }

html body.woocommerce .main-wrap .button, html body.woocommerce .main-wrap .button.wc-backward, html body.woocommerce .button.wc-backward, html body.woocommerce .comment-form p.form-submit input, html body.woocommerce-page .main-wrap .button, html body.woocommerce-page .main-wrap .button.wc-backward, html body.woocommerce-page .button.wc-backward, html body.woocommerce-page .comment-form p.form-submit input, div.woocommerce .main-wrap .button, div.woocommerce .main-wrap .button.wc-backward, div.woocommerce .button.wc-backward, div.woocommerce .comment-form p.form-submit input {
  background: #FFFFFF !important;
  border: 0.125rem solid #2c2b79 !important;
  border-radius: 6.25rem !important;
  color: #2c2b79 !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.3125rem;
  font-weight: 500 !important;
  line-height: 1 !important;
  padding: 0.4375rem 1.875rem !important;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.2s ease-out; }
  html body.woocommerce .main-wrap .button:hover, html body.woocommerce .main-wrap .button:focus, html body.woocommerce .main-wrap .button.wc-backward:hover, html body.woocommerce .main-wrap .button.wc-backward:focus, html body.woocommerce .button.wc-backward:hover, html body.woocommerce .button.wc-backward:focus, html body.woocommerce .comment-form p.form-submit input:hover, html body.woocommerce .comment-form p.form-submit input:focus, html body.woocommerce-page .main-wrap .button:hover, html body.woocommerce-page .main-wrap .button:focus, html body.woocommerce-page .main-wrap .button.wc-backward:hover, html body.woocommerce-page .main-wrap .button.wc-backward:focus, html body.woocommerce-page .button.wc-backward:hover, html body.woocommerce-page .button.wc-backward:focus, html body.woocommerce-page .comment-form p.form-submit input:hover, html body.woocommerce-page .comment-form p.form-submit input:focus, div.woocommerce .main-wrap .button:hover, div.woocommerce .main-wrap .button:focus, div.woocommerce .main-wrap .button.wc-backward:hover, div.woocommerce .main-wrap .button.wc-backward:focus, div.woocommerce .button.wc-backward:hover, div.woocommerce .button.wc-backward:focus, div.woocommerce .comment-form p.form-submit input:hover, div.woocommerce .comment-form p.form-submit input:focus {
    background: #ec2027 !important;
    border: 0.125rem solid #ec2027 !important;
    color: #FFFFFF !important; }

html body.woocommerce .add_to_cart_button.ajax_add_to_cart,
html body.woocommerce .button.product_type_variable, html body.woocommerce-page .add_to_cart_button.ajax_add_to_cart,
html body.woocommerce-page .button.product_type_variable, div.woocommerce .add_to_cart_button.ajax_add_to_cart,
div.woocommerce .button.product_type_variable {
  padding: 0.9375rem;
  text-align: left; }
  html body.woocommerce .add_to_cart_button.ajax_add_to_cart:after,
  html body.woocommerce .button.product_type_variable:after, html body.woocommerce-page .add_to_cart_button.ajax_add_to_cart:after,
  html body.woocommerce-page .button.product_type_variable:after, div.woocommerce .add_to_cart_button.ajax_add_to_cart:after,
  div.woocommerce .button.product_type_variable:after {
    bottom: 0.125rem;
    color: #006536;
    font-size: 0.875rem;
    line-height: 1.875rem;
    height: 1.875rem;
    margin: 0;
    position: absolute;
    right: 0.125rem;
    text-align: center;
    width: 1.875rem; }
  html body.woocommerce .add_to_cart_button.ajax_add_to_cart.added:after,
  html body.woocommerce .button.product_type_variable.added:after, html body.woocommerce-page .add_to_cart_button.ajax_add_to_cart.added:after,
  html body.woocommerce-page .button.product_type_variable.added:after, div.woocommerce .add_to_cart_button.ajax_add_to_cart.added:after,
  div.woocommerce .button.product_type_variable.added:after {
    border-radius: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  html body.woocommerce .add_to_cart_button.ajax_add_to_cart + a.added_to_cart,
  html body.woocommerce .button.product_type_variable + a.added_to_cart, html body.woocommerce-page .add_to_cart_button.ajax_add_to_cart + a.added_to_cart,
  html body.woocommerce-page .button.product_type_variable + a.added_to_cart, div.woocommerce .add_to_cart_button.ajax_add_to_cart + a.added_to_cart,
  div.woocommerce .button.product_type_variable + a.added_to_cart {
    font-weight: 700;
    padding: 0; }

@media only screen and (max-width: 47.9375em) {
  html body.woocommerce .main-wrap, html body.woocommerce-page .main-wrap, div.woocommerce .main-wrap {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0; } }

@media only screen and (max-width: 47.9375em) {
  html body.woocommerce .main-wrap .main-content, html body.woocommerce-page .main-wrap .main-content, div.woocommerce .main-wrap .main-content {
    max-width: 100% !important;
    width: calc(100% - 1.875rem) !important; } }

@media only screen and (max-width: 64em) {
  html body.woocommerce .main-wrap article.woocommerce-index, html body.woocommerce-page .main-wrap article.woocommerce-index, div.woocommerce .main-wrap article.woocommerce-index {
    max-width: calc(100% - 16.25rem) !important;
    width: 100% !important; } }

@media only screen and (max-width: 47.9375em) {
  html body.woocommerce .main-wrap article.woocommerce-index, html body.woocommerce-page .main-wrap article.woocommerce-index, div.woocommerce .main-wrap article.woocommerce-index {
    max-width: 100% !important;
    -webkit-order: 1 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
    width: calc(100% - 1.875rem) !important; } }

html body.woocommerce .main-wrap article.woocommerce-index .related.products h3, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products h3, div.woocommerce .main-wrap article.woocommerce-index .related.products h3 {
  margin-bottom: 0.25rem; }

html body.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products ul.products li, div.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li {
  width: 33.333%; }
  html body.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li h2.woocommerce-loop-product__title, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products ul.products li h2.woocommerce-loop-product__title, div.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li h2.woocommerce-loop-product__title {
    font-size: 1.625rem !important;
    line-height: 1.1;
    margin-bottom: 0; }
  @media only screen and (max-width: 40em) {
    html body.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products ul.products li, div.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    html body.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products ul.products li, div.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li {
      width: 100%; } }
  html body.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li.sale span.onsale, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products ul.products li.sale span.onsale, div.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li.sale span.onsale {
    left: 1.875rem; }
  html body.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li > a span.price, html body.woocommerce-page .main-wrap article.woocommerce-index .related.products ul.products li > a span.price, div.woocommerce .main-wrap article.woocommerce-index .related.products ul.products li > a span.price {
    display: none; }

html body.woocommerce .main-wrap aside.sidebar, html body.woocommerce-page .main-wrap aside.sidebar, div.woocommerce .main-wrap aside.sidebar {
  background: #f2f2f2;
  padding: 1.5625rem; }
  @media only screen and (max-width: 64em) {
    html body.woocommerce .main-wrap aside.sidebar, html body.woocommerce-page .main-wrap aside.sidebar, div.woocommerce .main-wrap aside.sidebar {
      width: 12.5rem !important; } }
  @media only screen and (max-width: 47.9375em) {
    html body.woocommerce .main-wrap aside.sidebar, html body.woocommerce-page .main-wrap aside.sidebar, div.woocommerce .main-wrap aside.sidebar {
      -webkit-order: 2 !important;
          -ms-flex-order: 2 !important;
              order: 2 !important;
      width: calc(100% - 1.875rem) !important; } }
  html body.woocommerce .main-wrap aside.sidebar .widget_product_categories h6, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories h6, div.woocommerce .main-wrap aside.sidebar .widget_product_categories h6 {
    border-bottom: 0.125rem solid #2c2b79;
    font-size: 1.125rem !important;
    margin-bottom: 0.625rem;
    padding-bottom: 0.625rem;
    text-transform: uppercase; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories h6:before, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories h6:before, div.woocommerce .main-wrap aside.sidebar .widget_product_categories h6:before {
      content: '\f07a';
      font-family: fontawesome;
      font-size: 1.25rem;
      margin-right: 0.3125rem; }
  html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories {
    list-style: none;
    margin: 0; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item {
      position: relative; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > a, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > a, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > a {
      color: #2c2b79;
      display: inline-block;
      font-size: 1.125rem !important;
      font-weight: 700;
      margin-bottom: 0.625rem;
      vertical-align: middle; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item i.close-cat-list, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item i.close-cat-list, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item i.close-cat-list {
      color: #ec2027;
      cursor: pointer;
      opacity: 0;
      position: absolute;
      right: 0;
      top: 0.3125rem;
      transition: all 0.2s ease-out; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list {
      background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/sketch-down-arrow.svg) no-repeat;
      color: #ec2027 !important;
      cursor: pointer !important;
      display: inline-block;
      height: 0.8125rem;
      margin-left: 0.3125rem;
      line-height: 1.25rem;
      position: absolute;
      top: 0.5rem;
      vertical-align: top;
      width: 0.875rem;
      transition: all 0.2s ease-out; }
      html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron {
        opacity: 0; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron ~ i.close-cat-list, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron ~ i.close-cat-list, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron ~ i.close-cat-list {
      opacity: 1; }
    html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children {
      border-top: 0.0625rem solid #FFFFFF;
      list-style: none;
      height: 0;
      margin-left: 1.0625rem;
      opacity: 0;
      padding-top: 0.625rem;
      position: relative;
      z-index: -1;
      transition: all .5s ease-out; }
      html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children.show-cats, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children.show-cats, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children.show-cats {
        height: auto;
        opacity: 1;
        z-index: 10; }
      html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li {
        border-bottom: 0.0625rem solid #FFFFFF;
        margin-bottom: 0.625rem;
        padding-bottom: 0.625rem; }
        html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li a, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li a, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li a {
          color: #5B5B5B;
          display: block;
          font-size: 0.875rem;
          font-weight: 700;
          padding: 0 0.3125rem !important; }
        html body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li.current-cat > a, html body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li.current-cat > a, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li.current-cat > a {
          color: #000000; }

html body.woocommerce .woocommerce-tabs, html body.woocommerce-page .woocommerce-tabs, div.woocommerce .woocommerce-tabs {
  margin-top: 3.75rem !important;
  margin-bottom: 3.75rem !important; }
  html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs {
    border: 0;
    margin-bottom: 0;
    padding-left: 0; }
    html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs:before, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs:before, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs:before {
      border-bottom: 0.0625rem solid #2c2b79; }
    html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li {
      background: #2c2b79;
      border: 0.0625rem solid #2c2b79;
      border-radius: 0;
      color: #FFFFFF;
      margin: 0;
      padding: 0 0.625rem;
      transition: background 0.2s ease-out; }
      html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:before, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:after, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:before, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:after, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:before, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:after {
        display: none; }
      html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li a {
        color: #FFFFFF;
        display: block;
        width: 100%; }
      html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:hover, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:focus, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus {
        background: #ec2027; }
        html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover a, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:hover a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus a {
          color: #FFFFFF; }
      html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus {
        background: #f2f2f2;
        border-bottom-color: #f2f2f2 !important; }
        html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a {
          color: #333 !important; }
      @media only screen and (max-width: 40em) {
        html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li {
          border-bottom: 0.0625rem solid #f2f2f2;
          box-shadow: 0 -0.125rem 0.4375rem #001e61;
          padding: 0 0.625rem;
          width: 100%;
          transition: padding 0.2s ease-out; }
          html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus {
            background: #ec2027;
            padding: 0.3125rem 0.625rem; }
            html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, html body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, html body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a {
              color: #FFFFFF !important; } }
  html body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel, html body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel {
    background: #f2f2f2;
    border: 0.0625rem solid #2c2b79;
    border-top: 0;
    padding: 0.9375rem !important; }
    html body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel p:last-of-type, html body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel p:last-of-type, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel p:last-of-type {
      margin-bottom: 0; }
    html body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes, html body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tbody, html body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes, html body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tbody, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tbody {
      border: 0.0625rem solid #f2f2f2 !important;
      margin-bottom: 0; }
    html body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title, html body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title span, html body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title, html body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title span, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title span {
      font-size: 1.5rem !important;
      margin-bottom: 0.9375rem; }

html body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container img.avatar, html body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container img.avatar, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container img.avatar {
  border: 0;
  border-radius: 100%;
  padding: 0 !important; }

html body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text, html body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container .comment-text, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text {
  background: #FFFFFF;
  margin: 0 0 0 2.5rem; }
  html body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text .star-rating, html body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container .comment-text .star-rating, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text .star-rating {
    margin-left: 0.625rem; }
  html body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text p.meta, html body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container .comment-text p.meta, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text p.meta {
    color: #000000; }

html body.woocommerce #reviews #review_form_wrapper #reply-title, html body.woocommerce-page #reviews #review_form_wrapper #reply-title, div.woocommerce #reviews #review_form_wrapper #reply-title {
  color: #2c2b79;
  font-size: 1.125rem;
  font-weight: 700; }

html body.woocommerce #reviews #review_form_wrapper p.stars, html body.woocommerce-page #reviews #review_form_wrapper p.stars, div.woocommerce #reviews #review_form_wrapper p.stars {
  color: #b99c00; }
  html body.woocommerce #reviews #review_form_wrapper p.stars a:before, html body.woocommerce-page #reviews #review_form_wrapper p.stars a:before, div.woocommerce #reviews #review_form_wrapper p.stars a:before {
    color: #b99c00; }

html body.woocommerce .product_meta span.sku_wrapper strong, html body.woocommerce-page .product_meta span.sku_wrapper strong, div.woocommerce .product_meta span.sku_wrapper strong {
  color: #000000;
  display: inline-block;
  width: 100%; }

html body.woocommerce .product_meta span.posted_in strong, html body.woocommerce-page .product_meta span.posted_in strong, div.woocommerce .product_meta span.posted_in strong {
  color: #000000;
  display: inline-block;
  margin-top: 10px;
  width: 100%; }

html body.woocommerce form.cart, html body.woocommerce-page form.cart, div.woocommerce form.cart {
  margin-bottom: 0 !important; }
  html body.woocommerce form.cart input, html body.woocommerce-page form.cart input, div.woocommerce form.cart input {
    border: 0.0625rem solid #2c2b79;
    border-radius: 0.375rem;
    min-height: 2.75rem; }
  html body.woocommerce form.cart button, html body.woocommerce-page form.cart button, div.woocommerce form.cart button {
    margin-left: 0.625rem; }

html body.woocommerce .woocommerce-product-gallery.images .woocommerce-product-gallery__wrapper .gallery .gallery-item:only-of-type, html body.woocommerce-page .woocommerce-product-gallery.images .woocommerce-product-gallery__wrapper .gallery .gallery-item:only-of-type, div.woocommerce .woocommerce-product-gallery.images .woocommerce-product-gallery__wrapper .gallery .gallery-item:only-of-type {
  display: none; }

html body.woocommerce .woocommerce-product-gallery.images .flex-viewport, html body.woocommerce-page .woocommerce-product-gallery.images .flex-viewport, div.woocommerce .woocommerce-product-gallery.images .flex-viewport {
  border: 0.0625rem solid #5c5b5b; }
  html body.woocommerce .woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__image, html body.woocommerce-page .woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__image, div.woocommerce .woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__image {
    border: 0 !important; }

html body.woocommerce .woocommerce-product-gallery.images .woocommerce-product-gallery__image, html body.woocommerce-page .woocommerce-product-gallery.images .woocommerce-product-gallery__image, div.woocommerce .woocommerce-product-gallery.images .woocommerce-product-gallery__image {
  border: 0.0625rem solid #2c2b79;
  cursor: grab !important;
  margin-bottom: 0.625rem;
  position: relative; }

html body.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs, html body.woocommerce-page .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs, div.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs {
  margin-left: -0.625rem; }
  html body.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs li, html body.woocommerce-page .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs li, div.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs li {
    padding-left: 0.625rem; }

html body.woocommerce .summary.entry-summary, html body.woocommerce-page .summary.entry-summary, div.woocommerce .summary.entry-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  html body.woocommerce .summary.entry-summary .pwb-single-product-brands, html body.woocommerce-page .summary.entry-summary .pwb-single-product-brands, div.woocommerce .summary.entry-summary .pwb-single-product-brands {
    display: none; }
  html body.woocommerce .summary.entry-summary h2.product_title.entry-title, html body.woocommerce-page .summary.entry-summary h2.product_title.entry-title, div.woocommerce .summary.entry-summary h2.product_title.entry-title {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    border-bottom: 0.125rem solid #2c2b79;
    font-size: 1.875rem !important;
    margin-bottom: 0.625rem;
    padding-bottom: 0.625rem; }
  html body.woocommerce .summary.entry-summary .woocommerce-product-details__short-description,
  html body.woocommerce .summary.entry-summary .item-description, html body.woocommerce-page .summary.entry-summary .woocommerce-product-details__short-description,
  html body.woocommerce-page .summary.entry-summary .item-description, div.woocommerce .summary.entry-summary .woocommerce-product-details__short-description,
  div.woocommerce .summary.entry-summary .item-description {
    font-size: 1.25rem;
    margin-bottom: 2.5rem;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    html body.woocommerce .summary.entry-summary .woocommerce-product-details__short-description p:last-of-type,
    html body.woocommerce .summary.entry-summary .item-description p:last-of-type, html body.woocommerce-page .summary.entry-summary .woocommerce-product-details__short-description p:last-of-type,
    html body.woocommerce-page .summary.entry-summary .item-description p:last-of-type, div.woocommerce .summary.entry-summary .woocommerce-product-details__short-description p:last-of-type,
    div.woocommerce .summary.entry-summary .item-description p:last-of-type {
      margin-bottom: 0; }
  html body.woocommerce .summary.entry-summary p.price, html body.woocommerce-page .summary.entry-summary p.price, div.woocommerce .summary.entry-summary p.price {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
    width: 20%; }
    @media only screen and (max-width: 56.25em) {
      html body.woocommerce .summary.entry-summary p.price, html body.woocommerce-page .summary.entry-summary p.price, div.woocommerce .summary.entry-summary p.price {
        width: 9.375rem; } }
    html body.woocommerce .summary.entry-summary p.price strong, html body.woocommerce-page .summary.entry-summary p.price strong, div.woocommerce .summary.entry-summary p.price strong {
      color: #2c2b79;
      display: inline;
      font-size: inherit;
      font-weight: 500;
      line-height: 1;
      margin-right: 0.3125rem;
      text-transform: uppercase; }
  html body.woocommerce .summary.entry-summary form.cart, html body.woocommerce-page .summary.entry-summary form.cart, div.woocommerce .summary.entry-summary form.cart {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 1.25rem;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
    width: 45%; }
    @media only screen and (max-width: 56.25em) {
      html body.woocommerce .summary.entry-summary form.cart, html body.woocommerce-page .summary.entry-summary form.cart, div.woocommerce .summary.entry-summary form.cart {
        margin-bottom: 1.25rem;
        padding: 0;
        width: calc(100% - 150px); } }
    html body.woocommerce .summary.entry-summary form.cart .quantity, html body.woocommerce-page .summary.entry-summary form.cart .quantity, div.woocommerce .summary.entry-summary form.cart .quantity {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
      width: 40%; }
      html body.woocommerce .summary.entry-summary form.cart .quantity input.input-text, html body.woocommerce-page .summary.entry-summary form.cart .quantity input.input-text, div.woocommerce .summary.entry-summary form.cart .quantity input.input-text {
        margin-bottom: 0; }
    html body.woocommerce .summary.entry-summary form.cart button, html body.woocommerce-page .summary.entry-summary form.cart button, div.woocommerce .summary.entry-summary form.cart button {
      max-height: 2.75rem;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      width: 60%; }
  html body.woocommerce .summary.entry-summary a.compare.button, html body.woocommerce-page .summary.entry-summary a.compare.button, div.woocommerce .summary.entry-summary a.compare.button {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
    width: 35%; }
    @media only screen and (max-width: 56.25em) {
      html body.woocommerce .summary.entry-summary a.compare.button, html body.woocommerce-page .summary.entry-summary a.compare.button, div.woocommerce .summary.entry-summary a.compare.button {
        max-width: 12.5rem;
        margin: 1.25rem auto 0;
        width: 100%; } }
  html body.woocommerce .summary.entry-summary .product_meta, html body.woocommerce-page .summary.entry-summary .product_meta, div.woocommerce .summary.entry-summary .product_meta {
    border-bottom: 0.125rem solid #2c2b79;
    border-top: 0.125rem solid #2c2b79;
    margin: 0 0 0.9375rem;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    padding: 0.625rem 0 0.625rem; }

html body.woocommerce .woocommerce-tabs.wc-tabs-wrapper,
html body.woocommerce .related.products, html body.woocommerce-page .woocommerce-tabs.wc-tabs-wrapper,
html body.woocommerce-page .related.products, div.woocommerce .woocommerce-tabs.wc-tabs-wrapper,
div.woocommerce .related.products {
  margin: 0 auto;
  max-width: 54.375rem;
  width: 100%; }

html body.woocommerce nav.woocommerce-pagination ul.page-numbers, html body.woocommerce-page nav.woocommerce-pagination ul.page-numbers, div.woocommerce nav.woocommerce-pagination ul.page-numbers {
  border: 0 !important;
  border-top: 0.125rem solid #2c2b79 !important;
  background: none;
  border-radius: 0;
  margin-top: 1.25rem;
  overflow: hidden;
  padding: 0.9375rem 0 0;
  text-align: center;
  width: 100%; }
  html body.woocommerce nav.woocommerce-pagination ul.page-numbers li, html body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li, div.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    border: 0 !important;
    display: inline-block;
    float: none;
    width: 1.875rem; }
    html body.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current, html body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.current, div.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
      background: #ec2027;
      border-radius: 0;
      color: #FFFFFF !important;
      font-weight: 700;
      overflow: hidden; }
    html body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers, html body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers, div.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers {
      background: #FFFFFF;
      border-radius: 0;
      font-weight: 700;
      overflow: hidden; }
      html body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover, html body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus, html body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover, html body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus, div.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover, div.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus {
        background: #2c2b79;
        color: #FFFFFF !important; }

html body.woocommerce .input-number-group, html body.woocommerce-page .input-number-group, div.woocommerce .input-number-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0;
  max-width: 12.5rem; }
  html body.woocommerce .input-number-group input[type=number]::-webkit-inner-spin-button,
  html body.woocommerce .input-number-group input[type=number]::-webkit-outer-spin-button, html body.woocommerce-page .input-number-group input[type=number]::-webkit-inner-spin-button,
  html body.woocommerce-page .input-number-group input[type=number]::-webkit-outer-spin-button, div.woocommerce .input-number-group input[type=number]::-webkit-inner-spin-button,
  div.woocommerce .input-number-group input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
            appearance: none; }
  html body.woocommerce .input-number-group input[type=number], html body.woocommerce-page .input-number-group input[type=number], div.woocommerce .input-number-group input[type=number] {
    -moz-appearance: textfield; }
  html body.woocommerce .input-number-group .input-group-button, html body.woocommerce-page .input-number-group .input-group-button, div.woocommerce .input-number-group .input-group-button {
    line-height: calc(80px/2); }
  html body.woocommerce .input-number-group .input-number, html body.woocommerce-page .input-number-group .input-number, div.woocommerce .input-number-group .input-number {
    border-radius: 0 !important;
    display: block;
    margin: 0;
    max-width: 3.125rem;
    outline: none;
    padding: 0;
    text-align: center;
    vertical-align: top;
    width: 100%; }
  html body.woocommerce .input-number-group .input-number,
  html body.woocommerce .input-number-group .input-number-decrement,
  html body.woocommerce .input-number-group .input-number-increment, html body.woocommerce-page .input-number-group .input-number,
  html body.woocommerce-page .input-number-group .input-number-decrement,
  html body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number,
  div.woocommerce .input-number-group .input-number-decrement,
  div.woocommerce .input-number-group .input-number-increment {
    border: 0.125rem solid #2c2b79;
    height: 40px;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border-radius: 0; }
  html body.woocommerce .input-number-group .input-number-decrement,
  html body.woocommerce .input-number-group .input-number-increment, html body.woocommerce-page .input-number-group .input-number-decrement,
  html body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number-decrement,
  div.woocommerce .input-number-group .input-number-increment {
    background: #2c2b79;
    color: #FFFFFF !important;
    cursor: pointer;
    display: inline-block;
    font-family: Georgia, Arial, Helvetica, sans-serif !important;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    width: 2.1875rem;
    transition: all 0.2s ease-out; }
    html body.woocommerce .input-number-group .input-number-decrement:hover, html body.woocommerce .input-number-group .input-number-decrement:focus,
    html body.woocommerce .input-number-group .input-number-increment:hover,
    html body.woocommerce .input-number-group .input-number-increment:focus, html body.woocommerce-page .input-number-group .input-number-decrement:hover, html body.woocommerce-page .input-number-group .input-number-decrement:focus,
    html body.woocommerce-page .input-number-group .input-number-increment:hover,
    html body.woocommerce-page .input-number-group .input-number-increment:focus, div.woocommerce .input-number-group .input-number-decrement:hover, div.woocommerce .input-number-group .input-number-decrement:focus,
    div.woocommerce .input-number-group .input-number-increment:hover,
    div.woocommerce .input-number-group .input-number-increment:focus {
      background: #000000; }
  html body.woocommerce .input-number-group .input-number-decrement, html body.woocommerce-page .input-number-group .input-number-decrement, div.woocommerce .input-number-group .input-number-decrement {
    border-radius: 2.1875rem 0 0 2.1875rem;
    padding-left: 0.75rem; }
    @media only screen and (max-width: 51.875rem) and (min-width: 47.9375em) {
      html body.woocommerce .input-number-group .input-number-decrement, html body.woocommerce-page .input-number-group .input-number-decrement, div.woocommerce .input-number-group .input-number-decrement {
        border-radius: 0.25rem 0 0 0.25rem !important;
        padding: 0;
        width: 1.25rem; } }
  html body.woocommerce .input-number-group .input-number-increment, html body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number-increment {
    border-radius: 0 2.1875rem 2.1875rem 0;
    padding-right: 0.9375rem; }
    @media only screen and (max-width: 51.875rem) and (min-width: 47.9375em) {
      html body.woocommerce .input-number-group .input-number-increment, html body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number-increment {
        border-radius: 0 0.25rem 0.25rem 0 !important;
        padding: 0;
        width: 1.25rem; } }

html body.woocommerce form.woocommerce-cart-form table, html body.woocommerce-page form.woocommerce-cart-form table, div.woocommerce form.woocommerce-cart-form table {
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden; }
  html body.woocommerce form.woocommerce-cart-form table thead, html body.woocommerce-page form.woocommerce-cart-form table thead, div.woocommerce form.woocommerce-cart-form table thead {
    border: 0 !important;
    background: #FFFFFF;
    color: #006536; }
    html body.woocommerce form.woocommerce-cart-form table thead tr th, html body.woocommerce-page form.woocommerce-cart-form table thead tr th, div.woocommerce form.woocommerce-cart-form table thead tr th {
      font-size: 1.75rem;
      font-weight: 500;
      padding: 0;
      text-transform: uppercase; }
    html body.woocommerce form.woocommerce-cart-form table thead tr th.product-name, html body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-name, div.woocommerce form.woocommerce-cart-form table thead tr th.product-name {
      width: 50%; }
    html body.woocommerce form.woocommerce-cart-form table thead tr th.product-price,
    html body.woocommerce form.woocommerce-cart-form table thead tr th.product-quantity,
    html body.woocommerce form.woocommerce-cart-form table thead tr th.product-subtotal, html body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-price,
    html body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-quantity,
    html body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-subtotal, div.woocommerce form.woocommerce-cart-form table thead tr th.product-price,
    div.woocommerce form.woocommerce-cart-form table thead tr th.product-quantity,
    div.woocommerce form.woocommerce-cart-form table thead tr th.product-subtotal {
      text-align: center; }
    html body.woocommerce form.woocommerce-cart-form table thead tr th.product-remove, html body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-remove, div.woocommerce form.woocommerce-cart-form table thead tr th.product-remove {
      padding-left: 0;
      padding-right: 0;
      width: 2rem; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr td, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td, div.woocommerce form.woocommerce-cart-form table tbody tr td {
    border: 0;
    padding: 0; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name {
    font-size: 1.625rem;
    font-weight: 500; }
    @media only screen and (min-width: 48em) {
      html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail {
      display: inline-block;
      height: auto;
      width: 9.0625rem !important; }
      @media only screen and (max-width: 75em) {
        html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail {
          width: 6.25rem !important; } }
      html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail a, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail a, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail a {
        display: block;
        margin-right: 1.25rem !important; }
      html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail img, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail img, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail img {
        border: 0.0625rem solid #2c2b79;
        height: auto;
        width: 100% !important; }
    html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-title, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-title, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-title {
      display: block;
      line-height: 1.2;
      width: calc(100% - 145px) !important; }
      @media only screen and (max-width: 75em) {
        html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-title, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-title, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-title {
          width: calc(100% - 100px) !important; } }
      html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-title a, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-title a, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-title a {
        font-weight: 500; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-price, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-price, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-price {
    font-size: 1.625rem;
    font-weight: 500;
    padding: 0 0.25rem;
    text-align: center; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-quantity, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity {
    padding: 0 0.25rem;
    text-align: center; }
    html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-quantity .quantity, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity {
      max-width: 100%; }
      html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        max-width: 100%; }
        html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group input[type="number"], html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group input[type="number"], div.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group input[type="number"] {
          color: #ec2027;
          font-size: 1.625rem;
          font-weight: 500; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-subtotal, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-subtotal, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-subtotal {
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-remove, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    width: 2.625rem; }
    html body.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove a.remove, html body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-remove a.remove, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove a.remove {
      display: inline-block;
      font-size: 2rem;
      margin-right: 0;
      margin-top: 0.25rem;
      text-decoration: none !important; }
  html body.woocommerce form.woocommerce-cart-form table tbody tr:last-of-type, html body.woocommerce-page form.woocommerce-cart-form table tbody tr:last-of-type, div.woocommerce form.woocommerce-cart-form table tbody tr:last-of-type {
    background: none; }
  html body.woocommerce form.woocommerce-cart-form table tbody input.input-text.qty.text, html body.woocommerce-page form.woocommerce-cart-form table tbody input.input-text.qty.text, div.woocommerce form.woocommerce-cart-form table tbody input.input-text.qty.text {
    border: 0.0625rem solid #2c2b79;
    box-shadow: none; }
  html body.woocommerce form.woocommerce-cart-form table tbody .quantity, html body.woocommerce-page form.woocommerce-cart-form table tbody .quantity, div.woocommerce form.woocommerce-cart-form table tbody .quantity {
    max-width: 12.5rem; }
  html body.woocommerce form.woocommerce-cart-form table tbody .coupon .button, html body.woocommerce-page form.woocommerce-cart-form table tbody .coupon .button, div.woocommerce form.woocommerce-cart-form table tbody .coupon .button {
    background: #FFFFFF !important;
    color: #2c2b79 !important;
    line-height: 2.5rem;
    max-height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0.875rem;
    padding-right: 0.875rem; }
    html body.woocommerce form.woocommerce-cart-form table tbody .coupon .button:hover, html body.woocommerce form.woocommerce-cart-form table tbody .coupon .button:focus, html body.woocommerce-page form.woocommerce-cart-form table tbody .coupon .button:hover, html body.woocommerce-page form.woocommerce-cart-form table tbody .coupon .button:focus, div.woocommerce form.woocommerce-cart-form table tbody .coupon .button:hover, div.woocommerce form.woocommerce-cart-form table tbody .coupon .button:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }
  html body.woocommerce form.woocommerce-cart-form table tbody .coupon input#coupon_code, html body.woocommerce-page form.woocommerce-cart-form table tbody .coupon input#coupon_code, div.woocommerce form.woocommerce-cart-form table tbody .coupon input#coupon_code {
    border: 0.0625rem solid #2c2b79;
    border-radius: 0.375rem;
    box-shadow: none;
    min-height: 2.5rem;
    min-width: 7.5rem; }
  html body.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"], html body.woocommerce-page form.woocommerce-cart-form table tbody .button[name="update_cart"], div.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"] {
    background: #FFFFFF !important;
    color: #2c2b79 !important;
    min-height: 2.5rem; }
    html body.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:hover, html body.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:focus, html body.woocommerce-page form.woocommerce-cart-form table tbody .button[name="update_cart"]:hover, html body.woocommerce-page form.woocommerce-cart-form table tbody .button[name="update_cart"]:focus, div.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:hover, div.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }

html body.woocommerce .wc-proceed-to-checkout, html body.woocommerce-page .wc-proceed-to-checkout, div.woocommerce .wc-proceed-to-checkout {
  padding: 0; }
  html body.woocommerce .wc-proceed-to-checkout a.keep-shopping-button, html body.woocommerce-page .wc-proceed-to-checkout a.keep-shopping-button, div.woocommerce .wc-proceed-to-checkout a.keep-shopping-button {
    color: #006536;
    display: block;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase; }

html body.woocommerce .cart-collaterals, html body.woocommerce-page .cart-collaterals, div.woocommerce .cart-collaterals {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: -1.875rem;
  margin-top: 3.75rem;
  width: calc(100% + 1.875rem); }
  html body.woocommerce .cart-collaterals div.coupon, html body.woocommerce-page .cart-collaterals div.coupon, div.woocommerce .cart-collaterals div.coupon {
    margin-bottom: 3.75rem;
    min-width: 18.75rem;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    padding-left: 1.875rem;
    width: 40%; }
    @media only screen and (max-width: 37.5em) {
      html body.woocommerce .cart-collaterals div.coupon, html body.woocommerce-page .cart-collaterals div.coupon, div.woocommerce .cart-collaterals div.coupon {
        max-width: 18.75rem;
        width: 100%; } }
    html body.woocommerce .cart-collaterals div.coupon label, html body.woocommerce-page .cart-collaterals div.coupon label, div.woocommerce .cart-collaterals div.coupon label {
      color: #2c2b79;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.5rem !important;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 0.25rem; }
    html body.woocommerce .cart-collaterals div.coupon input, html body.woocommerce-page .cart-collaterals div.coupon input, div.woocommerce .cart-collaterals div.coupon input {
      border: 0.125rem solid #2c2b79 !important;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.5rem;
      margin-bottom: 0.625rem; }
    html body.woocommerce .cart-collaterals div.coupon .button, html body.woocommerce-page .cart-collaterals div.coupon .button, div.woocommerce .cart-collaterals div.coupon .button {
      display: block;
      margin-left: auto;
      margin-right: auto;
      max-width: 15rem;
      width: 100%; }
  html body.woocommerce .cart-collaterals div.cart_totals, html body.woocommerce-page .cart-collaterals div.cart_totals, div.woocommerce .cart-collaterals div.cart_totals {
    margin-bottom: 3.75rem;
    min-width: 18.75rem;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 1.875rem;
    width: 40%; }
    @media only screen and (max-width: 37.5em) {
      html body.woocommerce .cart-collaterals div.cart_totals, html body.woocommerce-page .cart-collaterals div.cart_totals, div.woocommerce .cart-collaterals div.cart_totals {
        max-width: 18.75rem;
        width: 100%; } }
    html body.woocommerce .cart-collaterals div.cart_totals h2, html body.woocommerce-page .cart-collaterals div.cart_totals h2, div.woocommerce .cart-collaterals div.cart_totals h2 {
      font-size: 1.5rem !important;
      margin-bottom: 0.25rem; }
    html body.woocommerce .cart-collaterals div.cart_totals table, html body.woocommerce-page .cart-collaterals div.cart_totals table, div.woocommerce .cart-collaterals div.cart_totals table {
      border-color: #2c2b79;
      border-radius: 0;
      margin-bottom: 0.625rem;
      overflow: hidden; }
      html body.woocommerce .cart-collaterals div.cart_totals table tr.order-total, html body.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal, html body.woocommerce .cart-collaterals div.cart_totals table tr.shipping, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.cart-subtotal, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.shipping, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total, div.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal, div.woocommerce .cart-collaterals div.cart_totals table tr.shipping {
        background: #FFFFFF;
        border: 0;
        color: #2c2b79;
        vertical-align: top; }
        html body.woocommerce .cart-collaterals div.cart_totals table tr.order-total th, html body.woocommerce .cart-collaterals div.cart_totals table tr.order-total td, html body.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal th, html body.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal td, html body.woocommerce .cart-collaterals div.cart_totals table tr.shipping th, html body.woocommerce .cart-collaterals div.cart_totals table tr.shipping td, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total th, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total td, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.cart-subtotal th, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.cart-subtotal td, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.shipping th, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.shipping td, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total th, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total td, div.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal th, div.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal td, div.woocommerce .cart-collaterals div.cart_totals table tr.shipping th, div.woocommerce .cart-collaterals div.cart_totals table tr.shipping td {
          border: 0;
          padding: 0; }
        html body.woocommerce .cart-collaterals div.cart_totals table tr.order-total td, html body.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal td, html body.woocommerce .cart-collaterals div.cart_totals table tr.shipping td, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total td, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.cart-subtotal td, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.shipping td, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total td, div.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal td, div.woocommerce .cart-collaterals div.cart_totals table tr.shipping td {
          text-align: right;
          vertical-align: middle; }
        html body.woocommerce .cart-collaterals div.cart_totals table tr.order-total td span, html body.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal td span, html body.woocommerce .cart-collaterals div.cart_totals table tr.shipping td span, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total td span, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.cart-subtotal td span, html body.woocommerce-page .cart-collaterals div.cart_totals table tr.shipping td span, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total td span, div.woocommerce .cart-collaterals div.cart_totals table tr.cart-subtotal td span, div.woocommerce .cart-collaterals div.cart_totals table tr.shipping td span {
          color: #2c2b79 !important;
          font-size: 1.5rem;
          font-weight: 500;
          vertical-align: middle; }
    html body.woocommerce .cart-collaterals div.cart_totals .button, html body.woocommerce-page .cart-collaterals div.cart_totals .button, div.woocommerce .cart-collaterals div.cart_totals .button {
      display: block;
      margin-left: auto;
      margin-right: auto;
      max-width: 15rem;
      width: 100%; }
    html body.woocommerce .cart-collaterals div.cart_totals button.button[name="update_cart"], html body.woocommerce-page .cart-collaterals div.cart_totals button.button[name="update_cart"], div.woocommerce .cart-collaterals div.cart_totals button.button[name="update_cart"] {
      margin-bottom: 0.9375rem; }

html body.woocommerce form.woocommerce-form-coupon,
html body.woocommerce div.woocommerce-form-coupon, html body.woocommerce-page form.woocommerce-form-coupon,
html body.woocommerce-page div.woocommerce-form-coupon, div.woocommerce form.woocommerce-form-coupon,
div.woocommerce div.woocommerce-form-coupon {
  background: #f2f2f2 !important;
  border: 0.625rem double #2c2b79 !important;
  border-radius: 0 !important;
  margin: 0 0 1.5rem !important;
  padding: 0.9375rem !important; }
  html body.woocommerce form.woocommerce-form-coupon > p,
  html body.woocommerce div.woocommerce-form-coupon > p, html body.woocommerce-page form.woocommerce-form-coupon > p,
  html body.woocommerce-page div.woocommerce-form-coupon > p, div.woocommerce form.woocommerce-form-coupon > p,
  div.woocommerce div.woocommerce-form-coupon > p {
    color: #000000 !important;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 0.3125rem;
    text-transform: uppercase; }
  html body.woocommerce form.woocommerce-form-coupon .woocommerce-form-coupon-toggle,
  html body.woocommerce div.woocommerce-form-coupon .woocommerce-form-coupon-toggle, html body.woocommerce-page form.woocommerce-form-coupon .woocommerce-form-coupon-toggle,
  html body.woocommerce-page div.woocommerce-form-coupon .woocommerce-form-coupon-toggle, div.woocommerce form.woocommerce-form-coupon .woocommerce-form-coupon-toggle,
  div.woocommerce div.woocommerce-form-coupon .woocommerce-form-coupon-toggle {
    display: none; }
  html body.woocommerce form.woocommerce-form-coupon .form-row,
  html body.woocommerce div.woocommerce-form-coupon .form-row, html body.woocommerce-page form.woocommerce-form-coupon .form-row,
  html body.woocommerce-page div.woocommerce-form-coupon .form-row, div.woocommerce form.woocommerce-form-coupon .form-row,
  div.woocommerce div.woocommerce-form-coupon .form-row {
    margin-bottom: 0;
    padding: 0; }
    html body.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
    html body.woocommerce div.woocommerce-form-coupon .form-row.form-row-first, html body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-first,
    html body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-first, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
    div.woocommerce div.woocommerce-form-coupon .form-row.form-row-first {
      width: calc(100% - 200px) !important; }
      @media only screen and (max-width: 30em) {
        html body.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
        html body.woocommerce div.woocommerce-form-coupon .form-row.form-row-first, html body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-first,
        html body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-first, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
        div.woocommerce div.woocommerce-form-coupon .form-row.form-row-first {
          margin-bottom: 0.625rem;
          width: 100% !important; } }
    html body.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
    html body.woocommerce div.woocommerce-form-coupon .form-row.form-row-last, html body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-last,
    html body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-last, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
    div.woocommerce div.woocommerce-form-coupon .form-row.form-row-last {
      text-align: right;
      width: 12.5rem !important; }
      @media only screen and (max-width: 30em) {
        html body.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
        html body.woocommerce div.woocommerce-form-coupon .form-row.form-row-last, html body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-last,
        html body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-last, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
        div.woocommerce div.woocommerce-form-coupon .form-row.form-row-last {
          text-align: left;
          width: 100% !important; }
          html body.woocommerce form.woocommerce-form-coupon .form-row.form-row-last button,
          html body.woocommerce div.woocommerce-form-coupon .form-row.form-row-last button, html body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-last button,
          html body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-last button, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-last button,
          div.woocommerce div.woocommerce-form-coupon .form-row.form-row-last button {
            max-width: 100% !important;
            width: 100% !important; } }
  html body.woocommerce form.woocommerce-form-coupon input[type="text"],
  html body.woocommerce div.woocommerce-form-coupon input[type="text"], html body.woocommerce-page form.woocommerce-form-coupon input[type="text"],
  html body.woocommerce-page div.woocommerce-form-coupon input[type="text"], div.woocommerce form.woocommerce-form-coupon input[type="text"],
  div.woocommerce div.woocommerce-form-coupon input[type="text"] {
    border: 0.125rem solid #2c2b79 !important;
    box-shadow: none !important;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    min-height: 2.4375rem; }

html body.woocommerce .billing-shipping-tabs, html body.woocommerce-page .billing-shipping-tabs, div.woocommerce .billing-shipping-tabs {
  border-color: #2c2b79; }

html body.woocommerce .billing-shipping-wrapper, html body.woocommerce-page .billing-shipping-wrapper, div.woocommerce .billing-shipping-wrapper {
  border-color: #2c2b79;
  max-height: 100%;
  transition: max-height 0.2s ease-out; }

html body.woocommerce span.select2-container .select2-dropdown, html body.woocommerce-page span.select2-container .select2-dropdown, div.woocommerce span.select2-container .select2-dropdown {
  margin-top: -0.0625rem; }
  html body.woocommerce span.select2-container .select2-dropdown input.select2-search__field, html body.woocommerce-page span.select2-container .select2-dropdown input.select2-search__field, div.woocommerce span.select2-container .select2-dropdown input.select2-search__field {
    border-color: #2c2b79;
    border-radius: 0.1875rem;
    box-shadow: 0;
    display: none; }

html body.woocommerce.woocommerce-checkout form.checkout_coupon, html body.woocommerce-page.woocommerce-checkout form.checkout_coupon, div.woocommerce.woocommerce-checkout form.checkout_coupon {
  display: block !important; }

html body.woocommerce.woocommerce-checkout span.select2-container .select2-dropdown, html body.woocommerce-page.woocommerce-checkout span.select2-container .select2-dropdown, div.woocommerce.woocommerce-checkout span.select2-container .select2-dropdown {
  margin-top: -0.8125rem; }

html body.woocommerce form.woocommerce-checkout, html body.woocommerce-page form.woocommerce-checkout, div.woocommerce form.woocommerce-checkout {
  position: relative !important; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields {
    margin-bottom: 3.125rem; }
    html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields > h3, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields > h3, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields > h3 {
      display: none; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields, html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields, div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields {
    margin-bottom: 3.125rem; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields, html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields {
    margin-bottom: 1.875rem; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields input.input-text, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields textarea, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields select,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields input.input-text,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields textarea,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields select,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields textarea,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields select,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields input.input-text,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields textarea,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields select, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields input.input-text, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields textarea, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-selection, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields select,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields input.input-text,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields textarea,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-selection,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields select,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields textarea,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields select,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields input.input-text,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields textarea,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-selection,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields select, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields input.input-text, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields textarea, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields select,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields input.input-text,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields textarea,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields select,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields textarea,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields select,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields input.input-text,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields textarea,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields select {
    border: 0.125rem solid #2c2b79 !important;
    border-radius: 0 !important;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.375rem;
    font-weight: 500;
    min-height: 2.4375rem;
    margin-bottom: 0.625rem; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields label,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields label,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields label,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields label, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields label,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields label,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields label,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields label, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields label,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields label,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields label,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields label {
    color: #006536;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row {
    margin-bottom: 1.25rem;
    padding: 0; }
    html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last,
    html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-first,
    html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-last,
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-first,
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-last,
    html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-first,
    html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-last, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-first,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-last,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-first,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-last,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-first,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-last, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-first,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-last,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-first,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-last,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-first,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-last {
      width: 49.25% !important; }
    html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes,
    html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type,
    html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes,
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type,
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes,
    html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type,
    html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.notes,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes {
      margin-bottom: 0; }
      html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type input, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type textarea, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes input, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes textarea,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type input,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type textarea,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes input,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes textarea,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type input,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type textarea,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes input,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes textarea,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type input,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type textarea,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes input,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes textarea, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type input, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type textarea, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes input, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes textarea,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type input,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type textarea,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.notes input,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.notes textarea,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type input,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type textarea,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes input,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes textarea,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type input,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type textarea,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes input,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes textarea, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type input, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type textarea, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes input, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type input,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes input,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type input,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes input,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type input,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes input,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes textarea {
        margin-bottom: 0; }
    html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field,
    html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field,
    html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field,
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field,
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field,
    html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field,
    html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field,
    html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field {
      margin-bottom: 0 !important; }
      html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field + #shiping_address_2_field, html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field + #shiping_address_2_field, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field + #shiping_address_2_field, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field + #shiping_address_2_field, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#billing_address_1_field + #shiping_address_2_field, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row#shipping_address_1_field + #shiping_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#billing_address_1_field + #shiping_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field + #billing_address_2_field,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row#shipping_address_1_field + #shiping_address_2_field {
        margin-bottom: 1.25rem !important; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-container,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-container,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-container,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-container, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-container,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-container,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-container,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-container, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-container,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-container,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-container,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-container {
    min-height: 2.5rem; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__rendered,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__rendered,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__rendered,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__rendered, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__rendered,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__rendered,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__rendered,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__rendered, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__rendered,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__rendered,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__rendered,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__rendered {
    line-height: 2.375rem; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__arrow,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__arrow,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__arrow,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__arrow, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__arrow,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__arrow,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__arrow,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__arrow, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__arrow,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__arrow,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__arrow,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__arrow {
    min-height: 2.375rem; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields p#billing_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields p#shipping_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields p#billing_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-account-fields p#shipping_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields p#billing_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields p#shipping_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields p#billing_country_field,
  html body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields p#shipping_country_field, html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields p#billing_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields p#shipping_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields p#billing_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields p#shipping_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields p#billing_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields p#shipping_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields p#billing_country_field,
  html body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields p#shipping_country_field, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields p#billing_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields p#shipping_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields p#billing_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields p#shipping_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields p#billing_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields p#shipping_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields p#billing_country_field,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields p#shipping_country_field {
    display: none; }
  html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address, html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address {
    width: 100%; }
    html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label, html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 100%; }
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label input, html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label input, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label input {
        margin: 0 0.125rem 0 0.625rem;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      html body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label span, html body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label span, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h2#ship-to-different-address label span {
        color: #2c2b79;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        line-height: 1.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
  html body.woocommerce form.woocommerce-checkout #customer_details .col-1, html body.woocommerce form.woocommerce-checkout #customer_details .col-2, html body.woocommerce-page form.woocommerce-checkout #customer_details .col-1, html body.woocommerce-page form.woocommerce-checkout #customer_details .col-2, div.woocommerce form.woocommerce-checkout #customer_details .col-1, div.woocommerce form.woocommerce-checkout #customer_details .col-2 {
    margin-bottom: 2.5rem; }

html body.woocommerce p.tabs-title.checkout-cont-btn, html body.woocommerce-page p.tabs-title.checkout-cont-btn, div.woocommerce p.tabs-title.checkout-cont-btn {
  float: right;
  margin: 1.875rem -1rem 0 0;
  text-align: right; }

html body.woocommerce h2#order_review_heading, html body.woocommerce-page h2#order_review_heading, div.woocommerce h2#order_review_heading {
  font-family: "gloss-bloom", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  float: none !important;
  min-width: 10.625rem;
  padding-top: 0.6875rem !important;
  text-align: center;
  text-transform: capitalize; }
  html body.woocommerce h2#order_review_heading span.checkout-title-inner, html body.woocommerce-page h2#order_review_heading span.checkout-title-inner, div.woocommerce h2#order_review_heading span.checkout-title-inner {
    display: inline-block;
    font-family: inherit !important;
    font-weight: inherit;
    line-height: 1.5;
    margin-bottom: 1.25rem !important;
    min-width: 10.625rem;
    overflow: visible;
    padding: 0 0.9375rem 0.125rem !important;
    position: relative; }
    html body.woocommerce h2#order_review_heading span.checkout-title-inner:after, html body.woocommerce-page h2#order_review_heading span.checkout-title-inner:after, div.woocommerce h2#order_review_heading span.checkout-title-inner:after {
      background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/section-heading-underline.svg) no-repeat center top;
      background-size: 100%;
      bottom: 0;
      content: '';
      display: block;
      height: 0.375rem;
      left: 50%;
      max-width: 10.625rem;
      position: absolute;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 100%; }

html body.woocommerce table.shop_table, html body.woocommerce table.shop_attributes, html body.woocommerce-page table.shop_table, html body.woocommerce-page table.shop_attributes, div.woocommerce table.shop_table, div.woocommerce table.shop_attributes {
  border: 0;
  border-radius: 0;
  border-spacing: 0;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  overflow: hidden;
  padding: 0; }
  html body.woocommerce table.shop_table thead, html body.woocommerce table.shop_attributes thead, html body.woocommerce-page table.shop_table thead, html body.woocommerce-page table.shop_attributes thead, div.woocommerce table.shop_table thead, div.woocommerce table.shop_attributes thead {
    background: #FFFFFF;
    color: #006536; }
    html body.woocommerce table.shop_table thead th.product-name,
    html body.woocommerce table.shop_table thead th.product-total, html body.woocommerce table.shop_attributes thead th.product-name,
    html body.woocommerce table.shop_attributes thead th.product-total, html body.woocommerce-page table.shop_table thead th.product-name,
    html body.woocommerce-page table.shop_table thead th.product-total, html body.woocommerce-page table.shop_attributes thead th.product-name,
    html body.woocommerce-page table.shop_attributes thead th.product-total, div.woocommerce table.shop_table thead th.product-name,
    div.woocommerce table.shop_table thead th.product-total, div.woocommerce table.shop_attributes thead th.product-name,
    div.woocommerce table.shop_attributes thead th.product-total {
      font-size: 1.5rem;
      font-weight: 500;
      text-transform: uppercase;
      width: 50%; }
  html body.woocommerce table.shop_table tbody, html body.woocommerce table.shop_attributes tbody, html body.woocommerce-page table.shop_table tbody, html body.woocommerce-page table.shop_attributes tbody, div.woocommerce table.shop_table tbody, div.woocommerce table.shop_attributes tbody {
    border: 0; }
    html body.woocommerce table.shop_table tbody th, html body.woocommerce table.shop_attributes tbody th, html body.woocommerce-page table.shop_table tbody th, html body.woocommerce-page table.shop_attributes tbody th, div.woocommerce table.shop_table tbody th, div.woocommerce table.shop_attributes tbody th {
      text-align: left;
      text-transform: capitalize; }
    html body.woocommerce table.shop_table tbody td, html body.woocommerce table.shop_table tbody th, html body.woocommerce table.shop_attributes tbody td, html body.woocommerce table.shop_attributes tbody th, html body.woocommerce-page table.shop_table tbody td, html body.woocommerce-page table.shop_table tbody th, html body.woocommerce-page table.shop_attributes tbody td, html body.woocommerce-page table.shop_attributes tbody th, div.woocommerce table.shop_table tbody td, div.woocommerce table.shop_table tbody th, div.woocommerce table.shop_attributes tbody td, div.woocommerce table.shop_attributes tbody th {
      border-top-color: #2c2b79 !important; }
    html body.woocommerce table.shop_table tbody td.product-name span.product-title, html body.woocommerce table.shop_attributes tbody td.product-name span.product-title, html body.woocommerce-page table.shop_table tbody td.product-name span.product-title, html body.woocommerce-page table.shop_attributes tbody td.product-name span.product-title, div.woocommerce table.shop_table tbody td.product-name span.product-title, div.woocommerce table.shop_attributes tbody td.product-name span.product-title {
      font-weight: 700; }
    html body.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount,
    html body.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount,
    html body.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.cart-item td.product-total span.amount,
    html body.woocommerce-page table.shop_table tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.cart-item td.product-total span.amount,
    html body.woocommerce-page table.shop_attributes tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount,
    div.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount,
    div.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol {
      color: #000000 !important; }
    html body.woocommerce table.shop_table tbody tr.cart-subtotal, html body.woocommerce table.shop_table tbody tr.order-total, html body.woocommerce table.shop_table tbody tr.shipping, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal, html body.woocommerce table.shop_attributes tbody tr.order-total, html body.woocommerce table.shop_attributes tbody tr.shipping, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal, html body.woocommerce-page table.shop_table tbody tr.order-total, html body.woocommerce-page table.shop_table tbody tr.shipping, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal, html body.woocommerce-page table.shop_attributes tbody tr.order-total, html body.woocommerce-page table.shop_attributes tbody tr.shipping, div.woocommerce table.shop_table tbody tr.cart-subtotal, div.woocommerce table.shop_table tbody tr.order-total, div.woocommerce table.shop_table tbody tr.shipping, div.woocommerce table.shop_attributes tbody tr.cart-subtotal, div.woocommerce table.shop_attributes tbody tr.order-total, div.woocommerce table.shop_attributes tbody tr.shipping {
      background: #FFFFFF; }
      html body.woocommerce table.shop_table tbody tr.cart-subtotal th, html body.woocommerce table.shop_table tbody tr.cart-subtotal td, html body.woocommerce table.shop_table tbody tr.order-total th, html body.woocommerce table.shop_table tbody tr.order-total td, html body.woocommerce table.shop_table tbody tr.shipping th, html body.woocommerce table.shop_table tbody tr.shipping td, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal th, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal td, html body.woocommerce table.shop_attributes tbody tr.order-total th, html body.woocommerce table.shop_attributes tbody tr.order-total td, html body.woocommerce table.shop_attributes tbody tr.shipping th, html body.woocommerce table.shop_attributes tbody tr.shipping td, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal th, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal td, html body.woocommerce-page table.shop_table tbody tr.order-total th, html body.woocommerce-page table.shop_table tbody tr.order-total td, html body.woocommerce-page table.shop_table tbody tr.shipping th, html body.woocommerce-page table.shop_table tbody tr.shipping td, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal th, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal td, html body.woocommerce-page table.shop_attributes tbody tr.order-total th, html body.woocommerce-page table.shop_attributes tbody tr.order-total td, html body.woocommerce-page table.shop_attributes tbody tr.shipping th, html body.woocommerce-page table.shop_attributes tbody tr.shipping td, div.woocommerce table.shop_table tbody tr.cart-subtotal th, div.woocommerce table.shop_table tbody tr.cart-subtotal td, div.woocommerce table.shop_table tbody tr.order-total th, div.woocommerce table.shop_table tbody tr.order-total td, div.woocommerce table.shop_table tbody tr.shipping th, div.woocommerce table.shop_table tbody tr.shipping td, div.woocommerce table.shop_attributes tbody tr.cart-subtotal th, div.woocommerce table.shop_attributes tbody tr.cart-subtotal td, div.woocommerce table.shop_attributes tbody tr.order-total th, div.woocommerce table.shop_attributes tbody tr.order-total td, div.woocommerce table.shop_attributes tbody tr.shipping th, div.woocommerce table.shop_attributes tbody tr.shipping td {
        padding: 0;
        vertical-align: top;
        width: 50%; }
        @media only screen and (max-width: 47.9375em) {
          html body.woocommerce table.shop_table tbody tr.cart-subtotal th, html body.woocommerce table.shop_table tbody tr.cart-subtotal td, html body.woocommerce table.shop_table tbody tr.order-total th, html body.woocommerce table.shop_table tbody tr.order-total td, html body.woocommerce table.shop_table tbody tr.shipping th, html body.woocommerce table.shop_table tbody tr.shipping td, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal th, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal td, html body.woocommerce table.shop_attributes tbody tr.order-total th, html body.woocommerce table.shop_attributes tbody tr.order-total td, html body.woocommerce table.shop_attributes tbody tr.shipping th, html body.woocommerce table.shop_attributes tbody tr.shipping td, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal th, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal td, html body.woocommerce-page table.shop_table tbody tr.order-total th, html body.woocommerce-page table.shop_table tbody tr.order-total td, html body.woocommerce-page table.shop_table tbody tr.shipping th, html body.woocommerce-page table.shop_table tbody tr.shipping td, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal th, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal td, html body.woocommerce-page table.shop_attributes tbody tr.order-total th, html body.woocommerce-page table.shop_attributes tbody tr.order-total td, html body.woocommerce-page table.shop_attributes tbody tr.shipping th, html body.woocommerce-page table.shop_attributes tbody tr.shipping td, div.woocommerce table.shop_table tbody tr.cart-subtotal th, div.woocommerce table.shop_table tbody tr.cart-subtotal td, div.woocommerce table.shop_table tbody tr.order-total th, div.woocommerce table.shop_table tbody tr.order-total td, div.woocommerce table.shop_table tbody tr.shipping th, div.woocommerce table.shop_table tbody tr.shipping td, div.woocommerce table.shop_attributes tbody tr.cart-subtotal th, div.woocommerce table.shop_attributes tbody tr.cart-subtotal td, div.woocommerce table.shop_attributes tbody tr.order-total th, div.woocommerce table.shop_attributes tbody tr.order-total td, div.woocommerce table.shop_attributes tbody tr.shipping th, div.woocommerce table.shop_attributes tbody tr.shipping td {
            background: #FFFFFF;
            width: 100%; }
            html body.woocommerce table.shop_table tbody tr.cart-subtotal th:before, html body.woocommerce table.shop_table tbody tr.cart-subtotal td:before, html body.woocommerce table.shop_table tbody tr.order-total th:before, html body.woocommerce table.shop_table tbody tr.order-total td:before, html body.woocommerce table.shop_table tbody tr.shipping th:before, html body.woocommerce table.shop_table tbody tr.shipping td:before, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal th:before, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal td:before, html body.woocommerce table.shop_attributes tbody tr.order-total th:before, html body.woocommerce table.shop_attributes tbody tr.order-total td:before, html body.woocommerce table.shop_attributes tbody tr.shipping th:before, html body.woocommerce table.shop_attributes tbody tr.shipping td:before, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal th:before, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal td:before, html body.woocommerce-page table.shop_table tbody tr.order-total th:before, html body.woocommerce-page table.shop_table tbody tr.order-total td:before, html body.woocommerce-page table.shop_table tbody tr.shipping th:before, html body.woocommerce-page table.shop_table tbody tr.shipping td:before, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal th:before, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal td:before, html body.woocommerce-page table.shop_attributes tbody tr.order-total th:before, html body.woocommerce-page table.shop_attributes tbody tr.order-total td:before, html body.woocommerce-page table.shop_attributes tbody tr.shipping th:before, html body.woocommerce-page table.shop_attributes tbody tr.shipping td:before, div.woocommerce table.shop_table tbody tr.cart-subtotal th:before, div.woocommerce table.shop_table tbody tr.cart-subtotal td:before, div.woocommerce table.shop_table tbody tr.order-total th:before, div.woocommerce table.shop_table tbody tr.order-total td:before, div.woocommerce table.shop_table tbody tr.shipping th:before, div.woocommerce table.shop_table tbody tr.shipping td:before, div.woocommerce table.shop_attributes tbody tr.cart-subtotal th:before, div.woocommerce table.shop_attributes tbody tr.cart-subtotal td:before, div.woocommerce table.shop_attributes tbody tr.order-total th:before, div.woocommerce table.shop_attributes tbody tr.order-total td:before, div.woocommerce table.shop_attributes tbody tr.shipping th:before, div.woocommerce table.shop_attributes tbody tr.shipping td:before {
              color: #006536;
              font-size: 1.5rem;
              font-weight: 500;
              text-transform: uppercase; } }
        html body.woocommerce table.shop_table tbody tr.cart-subtotal th span.amount, html body.woocommerce table.shop_table tbody tr.cart-subtotal td span.amount, html body.woocommerce table.shop_table tbody tr.order-total th span.amount, html body.woocommerce table.shop_table tbody tr.order-total td span.amount, html body.woocommerce table.shop_table tbody tr.shipping th span.amount, html body.woocommerce table.shop_table tbody tr.shipping td span.amount, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal th span.amount, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal td span.amount, html body.woocommerce table.shop_attributes tbody tr.order-total th span.amount, html body.woocommerce table.shop_attributes tbody tr.order-total td span.amount, html body.woocommerce table.shop_attributes tbody tr.shipping th span.amount, html body.woocommerce table.shop_attributes tbody tr.shipping td span.amount, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal th span.amount, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal td span.amount, html body.woocommerce-page table.shop_table tbody tr.order-total th span.amount, html body.woocommerce-page table.shop_table tbody tr.order-total td span.amount, html body.woocommerce-page table.shop_table tbody tr.shipping th span.amount, html body.woocommerce-page table.shop_table tbody tr.shipping td span.amount, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal th span.amount, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal td span.amount, html body.woocommerce-page table.shop_attributes tbody tr.order-total th span.amount, html body.woocommerce-page table.shop_attributes tbody tr.order-total td span.amount, html body.woocommerce-page table.shop_attributes tbody tr.shipping th span.amount, html body.woocommerce-page table.shop_attributes tbody tr.shipping td span.amount, div.woocommerce table.shop_table tbody tr.cart-subtotal th span.amount, div.woocommerce table.shop_table tbody tr.cart-subtotal td span.amount, div.woocommerce table.shop_table tbody tr.order-total th span.amount, div.woocommerce table.shop_table tbody tr.order-total td span.amount, div.woocommerce table.shop_table tbody tr.shipping th span.amount, div.woocommerce table.shop_table tbody tr.shipping td span.amount, div.woocommerce table.shop_attributes tbody tr.cart-subtotal th span.amount, div.woocommerce table.shop_attributes tbody tr.cart-subtotal td span.amount, div.woocommerce table.shop_attributes tbody tr.order-total th span.amount, div.woocommerce table.shop_attributes tbody tr.order-total td span.amount, div.woocommerce table.shop_attributes tbody tr.shipping th span.amount, div.woocommerce table.shop_attributes tbody tr.shipping td span.amount {
          font-weight: 500 !important;
          vertical-align: top !important; }
          html body.woocommerce table.shop_table tbody tr.cart-subtotal th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_table tbody tr.cart-subtotal td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_table tbody tr.order-total th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_table tbody tr.order-total td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_table tbody tr.shipping th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_table tbody tr.shipping td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.order-total th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.order-total td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.shipping th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tbody tr.shipping td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.order-total th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.order-total td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.shipping th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tbody tr.shipping td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.order-total th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.order-total td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.shipping th span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tbody tr.shipping td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.cart-subtotal th span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.cart-subtotal td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.order-total th span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.order-total td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.shipping th span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.shipping td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.cart-subtotal th span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.cart-subtotal td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.order-total th span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.order-total td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.shipping th span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.shipping td span.amount span.woocommerce-Price-currencySymbol {
            vertical-align: top !important; }
      html body.woocommerce table.shop_table tbody tr.cart-subtotal th, html body.woocommerce table.shop_table tbody tr.order-total th, html body.woocommerce table.shop_table tbody tr.shipping th, html body.woocommerce table.shop_attributes tbody tr.cart-subtotal th, html body.woocommerce table.shop_attributes tbody tr.order-total th, html body.woocommerce table.shop_attributes tbody tr.shipping th, html body.woocommerce-page table.shop_table tbody tr.cart-subtotal th, html body.woocommerce-page table.shop_table tbody tr.order-total th, html body.woocommerce-page table.shop_table tbody tr.shipping th, html body.woocommerce-page table.shop_attributes tbody tr.cart-subtotal th, html body.woocommerce-page table.shop_attributes tbody tr.order-total th, html body.woocommerce-page table.shop_attributes tbody tr.shipping th, div.woocommerce table.shop_table tbody tr.cart-subtotal th, div.woocommerce table.shop_table tbody tr.order-total th, div.woocommerce table.shop_table tbody tr.shipping th, div.woocommerce table.shop_attributes tbody tr.cart-subtotal th, div.woocommerce table.shop_attributes tbody tr.order-total th, div.woocommerce table.shop_attributes tbody tr.shipping th {
        color: #006536;
        font-size: 1.75rem;
        font-weight: 500;
        text-transform: uppercase; }
    html body.woocommerce table.shop_table tbody tr.shipping td ul.woocommerce-shipping-methods li, html body.woocommerce table.shop_attributes tbody tr.shipping td ul.woocommerce-shipping-methods li, html body.woocommerce-page table.shop_table tbody tr.shipping td ul.woocommerce-shipping-methods li, html body.woocommerce-page table.shop_attributes tbody tr.shipping td ul.woocommerce-shipping-methods li, div.woocommerce table.shop_table tbody tr.shipping td ul.woocommerce-shipping-methods li, div.woocommerce table.shop_attributes tbody tr.shipping td ul.woocommerce-shipping-methods li {
      margin-bottom: 0 !important; }
      html body.woocommerce table.shop_table tbody tr.shipping td ul.woocommerce-shipping-methods li label, html body.woocommerce table.shop_attributes tbody tr.shipping td ul.woocommerce-shipping-methods li label, html body.woocommerce-page table.shop_table tbody tr.shipping td ul.woocommerce-shipping-methods li label, html body.woocommerce-page table.shop_attributes tbody tr.shipping td ul.woocommerce-shipping-methods li label, div.woocommerce table.shop_table tbody tr.shipping td ul.woocommerce-shipping-methods li label, div.woocommerce table.shop_attributes tbody tr.shipping td ul.woocommerce-shipping-methods li label {
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 1.25rem; }
    html body.woocommerce table.shop_table tbody tr.shipping td p.woocommerce-shipping-destination, html body.woocommerce table.shop_attributes tbody tr.shipping td p.woocommerce-shipping-destination, html body.woocommerce-page table.shop_table tbody tr.shipping td p.woocommerce-shipping-destination, html body.woocommerce-page table.shop_attributes tbody tr.shipping td p.woocommerce-shipping-destination, div.woocommerce table.shop_table tbody tr.shipping td p.woocommerce-shipping-destination, div.woocommerce table.shop_attributes tbody tr.shipping td p.woocommerce-shipping-destination {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.25rem; }
  html body.woocommerce table.shop_table tfoot, html body.woocommerce table.shop_attributes tfoot, html body.woocommerce-page table.shop_table tfoot, html body.woocommerce-page table.shop_attributes tfoot, div.woocommerce table.shop_table tfoot, div.woocommerce table.shop_attributes tfoot {
    border-color: #2c2b79 !important; }
    html body.woocommerce table.shop_table tfoot th, html body.woocommerce table.shop_table tfoot td, html body.woocommerce table.shop_attributes tfoot th, html body.woocommerce table.shop_attributes tfoot td, html body.woocommerce-page table.shop_table tfoot th, html body.woocommerce-page table.shop_table tfoot td, html body.woocommerce-page table.shop_attributes tfoot th, html body.woocommerce-page table.shop_attributes tfoot td, div.woocommerce table.shop_table tfoot th, div.woocommerce table.shop_table tfoot td, div.woocommerce table.shop_attributes tfoot th, div.woocommerce table.shop_attributes tfoot td {
      border-color: #2c2b79 !important; }
    html body.woocommerce table.shop_table tfoot tr td span.amount,
    html body.woocommerce table.shop_table tfoot tr td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tfoot tr td span.amount,
    html body.woocommerce table.shop_attributes tfoot tr td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tfoot tr td span.amount,
    html body.woocommerce-page table.shop_table tfoot tr td span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tfoot tr td span.amount,
    html body.woocommerce-page table.shop_attributes tfoot tr td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tfoot tr td span.amount,
    div.woocommerce table.shop_table tfoot tr td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tfoot tr td span.amount,
    div.woocommerce table.shop_attributes tfoot tr td span.amount span.woocommerce-Price-currencySymbol {
      color: #000000 !important; }
    html body.woocommerce table.shop_table tfoot tr.shipping td, html body.woocommerce table.shop_attributes tfoot tr.shipping td, html body.woocommerce-page table.shop_table tfoot tr.shipping td, html body.woocommerce-page table.shop_attributes tfoot tr.shipping td, div.woocommerce table.shop_table tfoot tr.shipping td, div.woocommerce table.shop_attributes tfoot tr.shipping td {
      color: #000000; }
    html body.woocommerce table.shop_table tfoot tr.tax-total, html body.woocommerce table.shop_attributes tfoot tr.tax-total, html body.woocommerce-page table.shop_table tfoot tr.tax-total, html body.woocommerce-page table.shop_attributes tfoot tr.tax-total, div.woocommerce table.shop_table tfoot tr.tax-total, div.woocommerce table.shop_attributes tfoot tr.tax-total {
      background: #2c2b79 !important; }
      html body.woocommerce table.shop_table tfoot tr.tax-total th, html body.woocommerce table.shop_table tfoot tr.tax-total td, html body.woocommerce table.shop_attributes tfoot tr.tax-total th, html body.woocommerce table.shop_attributes tfoot tr.tax-total td, html body.woocommerce-page table.shop_table tfoot tr.tax-total th, html body.woocommerce-page table.shop_table tfoot tr.tax-total td, html body.woocommerce-page table.shop_attributes tfoot tr.tax-total th, html body.woocommerce-page table.shop_attributes tfoot tr.tax-total td, div.woocommerce table.shop_table tfoot tr.tax-total th, div.woocommerce table.shop_table tfoot tr.tax-total td, div.woocommerce table.shop_attributes tfoot tr.tax-total th, div.woocommerce table.shop_attributes tfoot tr.tax-total td {
        border-color: #2c2b79 !important; }
    html body.woocommerce table.shop_table tfoot tr.order-total, html body.woocommerce table.shop_attributes tfoot tr.order-total, html body.woocommerce-page table.shop_table tfoot tr.order-total, html body.woocommerce-page table.shop_attributes tfoot tr.order-total, div.woocommerce table.shop_table tfoot tr.order-total, div.woocommerce table.shop_attributes tfoot tr.order-total {
      background: #FFFFFF;
      color: #2c2b79; }
      html body.woocommerce table.shop_table tfoot tr.order-total td strong span.amount,
      html body.woocommerce table.shop_table tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount,
      html body.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tfoot tr.order-total td strong span.amount,
      html body.woocommerce-page table.shop_table tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tfoot tr.order-total td strong span.amount,
      html body.woocommerce-page table.shop_attributes tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tfoot tr.order-total td strong span.amount,
      div.woocommerce table.shop_table tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount,
      div.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol {
        color: #2c2b79 !important; }
      html body.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      html body.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, html body.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      html body.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      html body.woocommerce-page table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, html body.woocommerce-page table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      html body.woocommerce-page table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      div.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      div.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol {
        color: #2c2b79 !important; }

html body.woocommerce table.shop_table tr th, html body.woocommerce table.shop_table tr td, html body.woocommerce-page table.shop_table tr th, html body.woocommerce-page table.shop_table tr td, div.woocommerce table.shop_table tr th, div.woocommerce table.shop_table tr td {
  padding: 0.5625rem 0.75rem; }

html body.woocommerce table.shop_table tr.shipping p, html body.woocommerce-page table.shop_table tr.shipping p, div.woocommerce table.shop_table tr.shipping p {
  margin-bottom: 0; }

html body.woocommerce table.shop_table tr.shipping a.shipping-calculator-button, html body.woocommerce-page table.shop_table tr.shipping a.shipping-calculator-button, div.woocommerce table.shop_table tr.shipping a.shipping-calculator-button {
  font-weight: 700; }

html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row, html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row {
  margin-bottom: 0.25rem;
  padding: 0; }
  html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2, html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 {
    display: block;
    margin-bottom: 0.25rem;
    min-height: 2.625rem; }
    html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection, html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection {
      border-color: #2c2b79;
      min-height: 2.625rem; }
    html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__rendered,
    html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__arrow, html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__rendered,
    html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__arrow, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__rendered,
    div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__arrow {
      line-height: 2.625rem;
      min-height: 2.625rem; }
  html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .input-text, html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .input-text, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .input-text {
    border-color: #2c2b79;
    border-radius: 0.1875rem;
    box-shadow: 0; }

html body.woocommerce table.shop_table tr.shipping .shipping-calculator-form button.button, html body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form button.button, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form button.button {
  margin-bottom: 0.3125rem; }

html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table thead, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead {
  border: 0; }
  html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead tr th, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table thead tr th, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead tr th {
    padding: 0; }

html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody, html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tbody, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot {
  border: 0; }
  html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr th, html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr td, html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr th, html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr td, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tbody tr th, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tbody tr td, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr th, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr td, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr th, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr td, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr th, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr td {
    border: 0;
    font-size: 1.25rem;
    font-weight: 500;
    padding: 0; }

html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr td, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tbody tr td, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr td {
  padding-bottom: 1.25rem; }

html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot {
  background: none; }
  html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th, html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
    border-top: 0.0625rem solid #006536;
    padding-top: 1.25rem; }
  html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li {
    margin-bottom: 0 !important; }
    html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li label, html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li label span, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li label, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li label span, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li label, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td ul li label span {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      font-weight: 500 !important;
      text-transform: uppercase; }
  html body.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr th, html body.woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tfoot tr th, div.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr th {
    text-transform: uppercase; }

html body.woocommerce div.woocommerce-checkout-payment, html body.woocommerce #payment, html body.woocommerce-page div.woocommerce-checkout-payment, html body.woocommerce-page #payment, div.woocommerce div.woocommerce-checkout-payment, div.woocommerce #payment {
  background: #2c2b79; }
  html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods,
  html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods, html body.woocommerce #payment ul.wc_payment_methods,
  html body.woocommerce #payment ul.woocommerce-PaymentMethods, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods,
  html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods, html body.woocommerce-page #payment ul.wc_payment_methods,
  html body.woocommerce-page #payment ul.woocommerce-PaymentMethods, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods,
  div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods, div.woocommerce #payment ul.wc_payment_methods,
  div.woocommerce #payment ul.woocommerce-PaymentMethods {
    background: #2c2b79;
    border-radius: 0; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods > li > label,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods > li > label, html body.woocommerce #payment ul.wc_payment_methods > li > label,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods > li > label, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods > li > label,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods > li > label, html body.woocommerce-page #payment ul.wc_payment_methods > li > label,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods > li > label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods > li > label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods > li > label, div.woocommerce #payment ul.wc_payment_methods > li > label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods > li > label {
      font-size: 1.125rem;
      font-weight: 700;
      color: #FFFFFF; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, html body.woocommerce #payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method label, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, html body.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.wc_payment_method label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, div.woocommerce #payment ul.wc_payment_methods li.wc_payment_method label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method label {
      margin: 0;
      width: 100%; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, html body.woocommerce #payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method label, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, html body.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method label,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.wc_payment_method label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, div.woocommerce #payment ul.wc_payment_methods li.wc_payment_method label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method label {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.375rem; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method div.payment_box p,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method div.payment_box p, html body.woocommerce #payment ul.wc_payment_methods li.wc_payment_method div.payment_box p,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method div.payment_box p, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method div.payment_box p,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method div.payment_box p, html body.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method div.payment_box p,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.wc_payment_method div.payment_box p, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method div.payment_box p,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method div.payment_box p, div.woocommerce #payment ul.wc_payment_methods li.wc_payment_method div.payment_box p,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method div.payment_box p {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      font-weight: 500; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method a.about_paypal,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method a.about_paypal, html body.woocommerce #payment ul.wc_payment_methods li.wc_payment_method a.about_paypal,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method a.about_paypal, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method a.about_paypal,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method a.about_paypal, html body.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method a.about_paypal,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.wc_payment_method a.about_paypal, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method a.about_paypal,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method a.about_paypal, div.woocommerce #payment ul.wc_payment_methods li.wc_payment_method a.about_paypal,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method a.about_paypal {
      color: #FFFFFF;
      margin-left: 0.625rem; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label {
      margin: 0;
      padding-left: 0; }
      html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
      html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
      html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
      html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label img,
      html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img {
        float: none; }
        @media only screen and (max-width: 37.5em) {
          html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img {
            max-width: 1.5625rem; } }
        @media only screen and (max-width: 30em) {
          html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label img,
          html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img {
            max-width: 1.25rem; } }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box p,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box p, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box p,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box p, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box p,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box p, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box p,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box p, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box p,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box p, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box p,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box p {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif; }
    html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe {
      background-color: #FFFFFF !important; }
      html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before {
        border: 1em solid #FFFFFF !important;
        border-right-color: transparent !important;
        border-left-color: transparent !important;
        border-top-color: transparent !important; }
      html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method {
        margin: 0 0.3125rem 0 0 !important; }
      html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row {
        padding: 0; }
        html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label {
          color: #2c2b79;
          font-weight: 700 !important;
          line-height: 1; }
        html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        html body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element {
          border: 0.0625rem solid #2c2b79 !important;
          border-radius: 0.375rem; }
  html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
    color: #FFFFFF !important; }
    html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a {
      color: #FFFFFF !important;
      position: relative;
      text-shadow: 0.125rem 0.0625rem 0 #2c2b79;
      z-index: 10; }
      html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after {
        background: #2c2b79;
        bottom: 0.125rem;
        content: '';
        display: block;
        height: 0.125rem;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: -1;
        transition: background 0.2s ease-out; }
      html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after {
        background: #FFFFFF; }
  html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions {
    background: #FFFFFF;
    border: 0 !important;
    border-radius: 0.125rem;
    padding: 1rem !important; }
  html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text {
    color: #FFFFFF !important;
    font-size: 1rem !important; }
    html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a {
      color: #FFFFFF !important;
      position: relative;
      text-shadow: 0.125rem 0.0625rem 0 #2c2b79;
      z-index: 10; }
      html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after {
        background: #2c2b79;
        bottom: 0.125rem;
        content: '';
        display: block;
        height: 0.125rem;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: -1;
        transition: background 0.2s ease-out; }
      html body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, html body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, html body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, html body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after {
        background: #FFFFFF; }
  html body.woocommerce div.woocommerce-checkout-payment .form-row.place-order, html body.woocommerce #payment .form-row.place-order, html body.woocommerce-page div.woocommerce-checkout-payment .form-row.place-order, html body.woocommerce-page #payment .form-row.place-order, div.woocommerce div.woocommerce-checkout-payment .form-row.place-order, div.woocommerce #payment .form-row.place-order {
    background: #2c2b79;
    border-radius: 0 0 0.375rem 0.375rem;
    padding-bottom: 0; }
    html body.woocommerce div.woocommerce-checkout-payment .form-row.place-order p, html body.woocommerce #payment .form-row.place-order p, html body.woocommerce-page div.woocommerce-checkout-payment .form-row.place-order p, html body.woocommerce-page #payment .form-row.place-order p, div.woocommerce div.woocommerce-checkout-payment .form-row.place-order p, div.woocommerce #payment .form-row.place-order p {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      font-weight: 500 !important;
      line-height: 1.5; }
    html body.woocommerce div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label input, html body.woocommerce #payment .form-row.place-order p.form-row.validate-required label input, html body.woocommerce-page div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label input, html body.woocommerce-page #payment .form-row.place-order p.form-row.validate-required label input, div.woocommerce div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label input, div.woocommerce #payment .form-row.place-order p.form-row.validate-required label input {
      margin: -0.25rem 0.5rem 0 0; }
    html body.woocommerce div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label span, html body.woocommerce #payment .form-row.place-order p.form-row.validate-required label span, html body.woocommerce-page div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label span, html body.woocommerce-page #payment .form-row.place-order p.form-row.validate-required label span, div.woocommerce div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label span, div.woocommerce #payment .form-row.place-order p.form-row.validate-required label span {
      font-size: 1.25rem !important; }
      html body.woocommerce div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label span.required, html body.woocommerce #payment .form-row.place-order p.form-row.validate-required label span.required, html body.woocommerce-page div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label span.required, html body.woocommerce-page #payment .form-row.place-order p.form-row.validate-required label span.required, div.woocommerce div.woocommerce-checkout-payment .form-row.place-order p.form-row.validate-required label span.required, div.woocommerce #payment .form-row.place-order p.form-row.validate-required label span.required {
        color: #FFFFFF !important; }
  html body.woocommerce div.woocommerce-checkout-payment button#place_order, html body.woocommerce #payment button#place_order, html body.woocommerce-page div.woocommerce-checkout-payment button#place_order, html body.woocommerce-page #payment button#place_order, div.woocommerce div.woocommerce-checkout-payment button#place_order, div.woocommerce #payment button#place_order {
    background: #FFFFFF !important;
    color: #2c2b79 !important;
    margin-bottom: 0.9375rem; }
    html body.woocommerce div.woocommerce-checkout-payment button#place_order:hover, html body.woocommerce div.woocommerce-checkout-payment button#place_order:focus, html body.woocommerce #payment button#place_order:hover, html body.woocommerce #payment button#place_order:focus, html body.woocommerce-page div.woocommerce-checkout-payment button#place_order:hover, html body.woocommerce-page div.woocommerce-checkout-payment button#place_order:focus, html body.woocommerce-page #payment button#place_order:hover, html body.woocommerce-page #payment button#place_order:focus, div.woocommerce div.woocommerce-checkout-payment button#place_order:hover, div.woocommerce div.woocommerce-checkout-payment button#place_order:focus, div.woocommerce #payment button#place_order:hover, div.woocommerce #payment button#place_order:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }
    @media only screen and (max-width: 48rem) {
      html body.woocommerce div.woocommerce-checkout-payment button#place_order, html body.woocommerce #payment button#place_order, html body.woocommerce-page div.woocommerce-checkout-payment button#place_order, html body.woocommerce-page #payment button#place_order, div.woocommerce div.woocommerce-checkout-payment button#place_order, div.woocommerce #payment button#place_order {
        float: right;
        width: auto; } }
    @media only screen and (max-width: 37.5em) {
      html body.woocommerce div.woocommerce-checkout-payment button#place_order, html body.woocommerce #payment button#place_order, html body.woocommerce-page div.woocommerce-checkout-payment button#place_order, html body.woocommerce-page #payment button#place_order, div.woocommerce div.woocommerce-checkout-payment button#place_order, div.woocommerce #payment button#place_order {
        float: none;
        width: 100%; } }
  html body.woocommerce div.woocommerce-checkout-payment .return-to-shop, html body.woocommerce #payment .return-to-shop, html body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop, html body.woocommerce-page #payment .return-to-shop, div.woocommerce div.woocommerce-checkout-payment .return-to-shop, div.woocommerce #payment .return-to-shop {
    background: #FFFFFF !important;
    color: #2c2b79 !important;
    margin-bottom: 0.9375rem; }
    html body.woocommerce div.woocommerce-checkout-payment .return-to-shop:hover, html body.woocommerce div.woocommerce-checkout-payment .return-to-shop:focus, html body.woocommerce #payment .return-to-shop:hover, html body.woocommerce #payment .return-to-shop:focus, html body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop:hover, html body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop:focus, html body.woocommerce-page #payment .return-to-shop:hover, html body.woocommerce-page #payment .return-to-shop:focus, div.woocommerce div.woocommerce-checkout-payment .return-to-shop:hover, div.woocommerce div.woocommerce-checkout-payment .return-to-shop:focus, div.woocommerce #payment .return-to-shop:hover, div.woocommerce #payment .return-to-shop:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }
    @media only screen and (max-width: 37.5em) {
      html body.woocommerce div.woocommerce-checkout-payment .return-to-shop, html body.woocommerce #payment .return-to-shop, html body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop, html body.woocommerce-page #payment .return-to-shop, div.woocommerce div.woocommerce-checkout-payment .return-to-shop, div.woocommerce #payment .return-to-shop {
        float: none;
        width: 100%; } }

html body.woocommerce div#payment.woocommerce-Payment ul.woocommerce-PaymentMethods + div.form-row, html body.woocommerce-page div#payment.woocommerce-Payment ul.woocommerce-PaymentMethods + div.form-row, div.woocommerce div#payment.woocommerce-Payment ul.woocommerce-PaymentMethods + div.form-row {
  background: #2c2b79; }

html body.woocommerce div#payment.woocommerce-Payment .about_paypal, html body.woocommerce-page div#payment.woocommerce-Payment .about_paypal, div.woocommerce div#payment.woocommerce-Payment .about_paypal {
  margin-left: 0.625rem; }

html body.woocommerce .woocommerce-info, html body.woocommerce-page .woocommerce-info, div.woocommerce .woocommerce-info {
  border-top-color: #2c2b79;
  height: auto;
  opacity: 1;
  padding-left: 2.5rem;
  padding-right: 2.8125rem;
  visibility: visible;
  transition: all 0.2s ease-out; }
  html body.woocommerce .woocommerce-info *, html body.woocommerce-page .woocommerce-info *, div.woocommerce .woocommerce-info * {
    color: #2c2b79; }
  html body.woocommerce .woocommerce-info:before, html body.woocommerce-page .woocommerce-info:before, div.woocommerce .woocommerce-info:before {
    color: #2c2b79;
    left: 0.9375rem !important; }
  html body.woocommerce .woocommerce-info .clear-notice, html body.woocommerce-page .woocommerce-info .clear-notice, div.woocommerce .woocommerce-info .clear-notice {
    color: red;
    cursor: pointer;
    display: block;
    font-family: fontawesome;
    position: absolute;
    right: 0.625rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 50; }
  @media only screen and (max-width: 40em) {
    html body.woocommerce .woocommerce-info, html body.woocommerce-page .woocommerce-info, div.woocommerce .woocommerce-info {
      line-height: 1.2;
      margin: 0 0 1.25rem;
      padding: 0.625rem 2.8125rem 0.625rem 0.625rem; }
      html body.woocommerce .woocommerce-info:before, html body.woocommerce-page .woocommerce-info:before, div.woocommerce .woocommerce-info:before {
        display: none; } }
  html body.woocommerce .woocommerce-info.hide-notice, html body.woocommerce-page .woocommerce-info.hide-notice, div.woocommerce .woocommerce-info.hide-notice {
    border: 0;
    height: 0;
    margin: 0;
    opacity: 0;
    padding: 0;
    visibility: hidden; }

html body.woocommerce form.checkout_coupon.woocommerce-form-coupon.hide-notice, html body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon.hide-notice, div.woocommerce form.checkout_coupon.woocommerce-form-coupon.hide-notice {
  display: none; }

html body.woocommerce .woocommerce-error, html body.woocommerce .woocommerce-info, html body.woocommerce .woocommerce-message, html body.woocommerce-page .woocommerce-error, html body.woocommerce-page .woocommerce-info, html body.woocommerce-page .woocommerce-message, div.woocommerce .woocommerce-error, div.woocommerce .woocommerce-info, div.woocommerce .woocommerce-message {
  background: #f2f2f2;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-weight: 700;
  padding: 0.9375rem 0.9375rem 0.9375rem 2.8125rem;
  position: relative;
  text-transform: uppercase; }
  html body.woocommerce .woocommerce-error a.button, html body.woocommerce .woocommerce-info a.button, html body.woocommerce .woocommerce-message a.button, html body.woocommerce-page .woocommerce-error a.button, html body.woocommerce-page .woocommerce-info a.button, html body.woocommerce-page .woocommerce-message a.button, div.woocommerce .woocommerce-error a.button, div.woocommerce .woocommerce-info a.button, div.woocommerce .woocommerce-message a.button {
    margin-left: 0.625rem; }
  html body.woocommerce .woocommerce-error:before, html body.woocommerce .woocommerce-info:before, html body.woocommerce .woocommerce-message:before, html body.woocommerce-page .woocommerce-error:before, html body.woocommerce-page .woocommerce-info:before, html body.woocommerce-page .woocommerce-message:before, div.woocommerce .woocommerce-error:before, div.woocommerce .woocommerce-info:before, div.woocommerce .woocommerce-message:before {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: #FFFFFF !important;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    left: 0 !important;
    padding: 0 0.625rem;
    position: absolute;
    top: 0; }

html body.woocommerce .woocommerce-message, html body.woocommerce-page .woocommerce-message, div.woocommerce .woocommerce-message {
  border-top-color: #006536; }
  html body.woocommerce .woocommerce-message a, html body.woocommerce-page .woocommerce-message a, div.woocommerce .woocommerce-message a {
    color: #006536; }
  html body.woocommerce .woocommerce-message:before, html body.woocommerce-page .woocommerce-message:before, div.woocommerce .woocommerce-message:before {
    background: #006536; }

html body.woocommerce .woocommerce-error, html body.woocommerce-page .woocommerce-error, div.woocommerce .woocommerce-error {
  border: 0.625rem double #ec2027; }
  html body.woocommerce .woocommerce-error li, html body.woocommerce-page .woocommerce-error li, div.woocommerce .woocommerce-error li {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.375rem;
    font-weight: 500; }
  html body.woocommerce .woocommerce-error a, html body.woocommerce-page .woocommerce-error a, div.woocommerce .woocommerce-error a {
    color: #ec2027; }
  html body.woocommerce .woocommerce-error:before, html body.woocommerce-page .woocommerce-error:before, div.woocommerce .woocommerce-error:before {
    background: #ec2027; }

html body.woocommerce .woocommerce-info, html body.woocommerce-page .woocommerce-info, div.woocommerce .woocommerce-info {
  border-top-color: #8383a4; }
  html body.woocommerce .woocommerce-info a, html body.woocommerce-page .woocommerce-info a, div.woocommerce .woocommerce-info a {
    color: #8383a4; }
  html body.woocommerce .woocommerce-info:before, html body.woocommerce-page .woocommerce-info:before, div.woocommerce .woocommerce-info:before {
    background: #8383a4; }

.woocommerce-page.single-product header.woocommerce-shop-title h1.entry-title span.section-heading-inner {
  margin-bottom: 0 !important; }

.woocommerce-page.single-product header.woocommerce-shop-title div.product-meta > p {
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.4375rem;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase; }

.woocommerce-page.single-product header.woocommerce-shop-title div.product-meta span.category-name:after {
  content: ', ';
  display: inline-block;
  white-space: pre; }

.woocommerce-page.single-product header.woocommerce-shop-title div.product-meta span.category-name:last-of-type:after {
  content: '';
  margin-right: 0; }

.woocommerce-page.single-product h2.woocommerce-page-title {
  display: none; }

.woocommerce-page.single-product .product-top-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 auto 3.75rem;
  max-width: 46.25rem; }
  .woocommerce-page.single-product .product-top-wrapper div.woocommerce-product-gallery,
  .woocommerce-page.single-product .product-top-wrapper div.summary.entry-summary {
    float: none;
    width: 100%; }

.woocommerce-page.single-product .woocommerce-product-gallery .gallery figure.gallery-item figcaption.wp-caption-text {
  display: none; }

.woocommerce-form input.input-text {
  border: 0.0625rem solid #2c2b79;
  border-radius: 0.375rem; }

.woocommerce-form label.woocommerce-form__label.woocommerce-form__label-for-checkbox.inline {
  display: block;
  margin-top: 0.625rem; }

div.woocommerce-order p.woocommerce-notice {
  color: #2c2b79 !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important; }

div.woocommerce-order ul.woocommerce-order-overview {
  border: 0.0625rem solid #2c2b79;
  border-radius: 0.375rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  div.woocommerce-order ul.woocommerce-order-overview li {
    border-right: 0.0625rem solid #2c2b79;
    float: none;
    margin: 0;
    padding: 0.9375rem;
    text-align: center;
    width: 25%; }
    div.woocommerce-order ul.woocommerce-order-overview li strong {
      font-size: 1rem !important;
      line-height: 1.2 !important;
      margin-top: 0.3125rem; }
      @media only screen and (max-width: 30em) {
        div.woocommerce-order ul.woocommerce-order-overview li strong {
          font-size: 0.875rem !important; } }

div.woocommerce-order .woocommerce-order-details h2 {
  font-size: 1.75rem !important;
  margin-bottom: 0.3125rem; }

.select2-dropdown {
  border-color: #2c2b79; }

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
  background: #2c2b79; }

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100%;
  float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    list-style: none;
    margin: 0 0 2.5rem 0; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
      width: 33.3333%; }
      @media only screen and (max-width: 30em) {
        .woocommerce-account .woocommerce-MyAccount-navigation ul li {
          width: 50%; } }
      .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        color: #FFFFFF;
        background: #ec2027;
        border-radius: 2.1875rem;
        display: block;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 0.875rem;
        font-weight: 600;
        margin: 0 auto 0.25rem;
        max-width: calc(100% - .25rem);
        padding: 0.25rem;
        text-align: center;
        text-transform: uppercase;
        transition: background 0.2s ease-out; }
        .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover, .woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus {
          background: #000000; }
        @media only screen and (max-width: 30em) {
          .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
            letter-spacing: -.03em; } }

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-content form .form-row {
    padding: 0; }
  .woocommerce-account .woocommerce-MyAccount-content form input.input-text {
    border: 0.0625rem solid #2c2b79;
    border-radius: 0.375rem; }
  .woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
    color: #000000;
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    padding: 1.25rem 0 0 0; }

@media only screen and (max-width: 47.9375em) {
  .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item {
    border-top: 0.3125rem solid #2c2b79;
    padding: 0.9375rem;
    position: relative; }
    .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:first-child, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:first-child {
      border-top: 0; }
    .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n), .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) {
      background: #FFFFFF; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td {
        background: #FFFFFF; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-price, .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-subtotal, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-price, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-subtotal {
          background: #f2f2f2; }
    .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td {
      border: 0;
      padding: 0.9375rem 0;
      text-align: center !important; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td .quantity, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td .quantity {
        display: block !important;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 auto 0.3125rem;
        width: auto; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td:before, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td:before {
        color: #006536;
        content: attr(data-title) !important;
        display: block;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1;
        margin-bottom: 0.625rem;
        text-align: center;
        text-transform: uppercase;
        width: 100%; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name {
        padding-top: 0;
        width: 100%; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-title, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-title {
          display: inline-block;
          font-size: 1.125rem; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail {
          display: block;
          float: none;
          width: 100% !important; }
          .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail a, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail a {
            margin-right: 0 !important; }
          .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail img, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail img {
            height: auto;
            max-width: 12.5rem; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove {
        padding: 0;
        text-align: center;
        width: 100%; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove:before, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove:before {
          display: none; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove a, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove a {
          border-radius: 0;
          display: block;
          height: auto;
          line-height: 1;
          margin: 0;
          width: 100%; }
          .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove a:after, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove a:after {
            content: 'Remove this item' !important;
            display: inline-block;
            font-size: 1.5rem;
            font-weight: 500;
            line-height: 1;
            position: relative;
            text-transform: uppercase;
            top: -0.3125rem;
            width: 100%; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-price, .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-subtotal, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-price, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-subtotal {
        background: #f2f2f2; } }

::-webkit-input-placeholder {
  color: #8383a4 !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase; }

::-moz-placeholder {
  color: #8383a4 !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase; }

:-ms-input-placeholder {
  color: #8383a4 !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase; }

:-moz-placeholder {
  color: #8383a4 !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase; }

p {
  margin-bottom: 1.75rem; }

div#purchase-tickets {
  height: 0.0625rem;
  margin-bottom: -0.0625rem; }

/* Veggie Icons Styles */
.veggie-icons-wrapper {
  margin-bottom: 0.625rem; }
  .veggie-icons-wrapper img {
    display: block;
    margin: 0 auto;
    max-width: 9.375rem;
    width: 100%; }

a.opentable {
  color: #2c2b79 !important;
  padding: 0.1875rem 1.5625rem 0.125rem;
  position: relative;
  text-transform: none !important; }
  a.opentable:before {
    background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/opentable-icon.svg) no-repeat left center;
    content: '';
    display: inline-block;
    height: 1.875rem;
    margin: 0 0.3125rem 0 -0.625rem;
    vertical-align: middle;
    width: 1.875rem; }
  a.opentable:hover, a.opentable:focus {
    color: #FFFFFF !important;
    background: #2c2b79 !important;
    border-color: #FFFFFF !important; }

/* OpenTable Full-Width Reservation Widget Styles */
.opentable-widget-wrapper {
  margin: 0 auto;
  max-width: 87.5rem;
  width: 100%; }
  .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide {
    padding: 0;
    width: 100%; }
    .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide .ot-title {
      left: -9999px;
      opacity: 0;
      position: absolute; }
    .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide .ot-powered-by {
      display: none; }
    .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      border: 0;
      box-sizing: border-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      height: auto;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-bottom: -0.9375rem;
      margin-left: -0.9375rem; }
      .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form * {
        box-sizing: border-box; }
      .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker,
      .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker,
      .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker {
        border-left: 0;
        float: none;
        height: 3.125rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem;
        width: calc(25% - 0.9375rem); }
        @media only screen and (max-width: 47.9375em) {
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker {
            width: calc(50% - 0.9375rem); } }
        @media only screen and (max-width: 25em) {
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker {
            width: calc(100% - 0.9375rem); } }
        .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker > a,
        .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker > a,
        .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker > a {
          border: 0.0625rem solid #642027;
          color: #5c5b5b;
          font-family: "mrs-eaves", Georgia, "Times New Roman", serif !important;
          font-size: 1.625rem;
          padding: 0.875rem 1.375rem;
          text-align: center;
          text-decoration: none; }
          @media only screen and (max-width: 56.25em) {
            .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker > a,
            .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker > a,
            .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker > a {
              font-size: 1.375rem; } }
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker > a:before,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker > a:before,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker > a:before {
            display: none; }
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-party-size-picker > a:after,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-date-picker > a:after,
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form div.ot-time-picker > a:after {
            display: inline; }
      .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form input.ot-button {
        border: 0;
        box-shadow: none;
        font-family: "mrs-eaves", Georgia, "Times New Roman", serif !important;
        font-size: 1.625rem;
        float: none;
        height: 3.125rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem !important;
        width: calc(25% - 0.9375rem); }
        @media only screen and (max-width: 56.25em) {
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form input.ot-button {
            font-size: 1.375rem; } }
        @media only screen and (max-width: 47.9375em) {
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form input.ot-button {
            width: calc(50% - 0.9375rem); } }
        @media only screen and (max-width: 25em) {
          .opentable-widget-wrapper #ot-reservation-widget .ot-dtp-picker.wide form.ot-dtp-picker-form input.ot-button {
            width: calc(100% - 0.9375rem); } }

/* Card Flip Styles */
.bs-card-container {
  -webkit-perspective: 600;
          perspective: 600;
  padding: 0 0.9375rem;
  position: relative; }
  .bs-card-container .bs-card {
    color: transparent;
    height: 100%;
    padding: 3.75rem 0;
    position: relative;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    transition: all .75s ease-in-out;
    width: 100%; }
    .bs-card-container .bs-card[contenteditable] {
      cursor: not-allowed !important; }
    .bs-card-container .bs-card .bs-card-side {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      height: 100%;
      overflow: hidden;
      padding: 0;
      position: relative;
      text-align: center;
      width: 100%; }
      .bs-card-container .bs-card .bs-card-side * {
        text-align: center; }
      .bs-card-container .bs-card .bs-card-side img {
        margin-bottom: 1.875rem;
        max-width: 25rem;
        width: 100%; }
      .bs-card-container .bs-card .bs-card-side h2 {
        font-size: 2.5rem !important;
        font-weight: 500;
        line-height: 1;
        margin: 0;
        text-transform: uppercase; }
      .bs-card-container .bs-card .bs-card-side p {
        font-family: "mrs-eaves", Georgia, "Times New Roman", serif;
        font-size: 1.375rem;
        line-height: 1.3; }
      .bs-card-container .bs-card .bs-card-side a.bs-btn {
        font-size: 1.3125rem !important;
        font-weight: 500; }
        .bs-card-container .bs-card .bs-card-side a.bs-btn.bs-btn-white {
          color: #2c2b79 !important; }
        .bs-card-container .bs-card .bs-card-side a.bs-btn.bs-btn-clear {
          border-color: #FFFFFF !important; }
          .bs-card-container .bs-card .bs-card-side a.bs-btn.bs-btn-clear:hover, .bs-card-container .bs-card .bs-card-side a.bs-btn.bs-btn-clear:focus {
            border-color: #ec2027 !important; }
      .bs-card-container .bs-card .bs-card-side span.small-heading {
        font-size: 1.125rem;
        font-weight: 700;
        margin-top: 0.9375rem;
        margin-bottom: 0.3125rem;
        text-transform: uppercase; }
    .bs-card-container .bs-card .bs-card-side-back {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      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;
      position: absolute;
      opacity: 0;
      text-align: center;
      -webkit-transform: rotateY(180deg);
              transform: rotateY(180deg);
      top: 0;
      transition: all 1s ease-in-out; }
      .bs-card-container .bs-card .bs-card-side-back img {
        max-width: 15.625rem;
        width: 100%; }
    .bs-card-container .bs-card:hover, .bs-card-container .bs-card:focus {
      -webkit-transform: rotateY(180deg);
              transform: rotateY(180deg); }
      .bs-card-container .bs-card:hover .bs-card-side-back, .bs-card-container .bs-card:focus .bs-card-side-back {
        opacity: 1;
        transition: all 1s ease-in-out; }

[data-whatinput="keyboard"] .bs-card-container {
  -webkit-perspective: 600;
          perspective: 600;
  padding: 0 0.9375rem;
  position: relative; }
  [data-whatinput="keyboard"] .bs-card-container .bs-card {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg); }
    [data-whatinput="keyboard"] .bs-card-container .bs-card .bs-card-side-back {
      opacity: 1;
      transition: all 1s ease-in-out; }

/**** HEADER STYLES ****/
header#masthead {
  background-repeat: no-repeat;
  background-position: center left, center right;
  background-size: auto !important;
  border-bottom: 0.0625rem solid #2c2b79;
  padding-bottom: 0;
  padding-top: 0; }
  @media only screen and (max-width: 118.75em) {
    header#masthead {
      background-position: -10% center, 110% center; } }
  @media only screen and (max-width: 106.25em) {
    header#masthead {
      background-position: calc(-10% - 200px) center, calc(110% + 200px) center; } }
  @media only screen and (max-width: 87.5em) {
    header#masthead {
      background-position: calc(-10% - 300px) center, calc(110% + 300px) center; } }
  @media only screen and (max-width: 75em) {
    header#masthead {
      background-position: calc(-10% - 375px) center, calc(110% + 375px) center; } }
  @media only screen and (max-width: 64em) {
    header#masthead {
      background: none !important;
      padding: 0 !important; } }
  @media only screen and (max-width: 64em) {
    header#masthead #header-inner {
      background: #FFFFFF; } }
  @media only screen and (max-width: 64em) {
    header#masthead #header-inner .site-title-bar.title-bar {
      background: none;
      display: block !important; } }
  header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title a.custom-logo-link {
      max-width: 9.375rem;
      width: 100%; }
      header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title a.custom-logo-link .custom-logo {
        margin: 0 auto;
        max-width: 9.375rem; }
    header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-tagline-wrapper {
      padding-left: 1.25rem;
      width: calc(100% - 9.735rem); }
    header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-tagline,
    header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-secondary-tagline {
      color: #2c2b79;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1.1;
      text-transform: uppercase; }
      @media only screen and (max-width: 50em) {
        header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-tagline,
        header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-secondary-tagline {
          font-size: 1.1875rem; } }
      @media only screen and (max-width: 47.9375em) {
        header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-tagline,
        header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-secondary-tagline {
          display: none; } }
    header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-tagline {
      margin: 0 0 0.3125rem 0; }
    header#masthead #header-inner .site-title-bar.title-bar .title-bar-left .title-bar-title .header-secondary-tagline {
      font-family: "gloss-bloom", "Arial Narrow", Arial, Helvetica, sans-serif;
      line-height: 1.2;
      text-transform: none;
      margin: 0 0 1.25rem 0; }
  header#masthead #header-inner .site-title-bar.title-bar .title-bar-left button.menu-icon span.keep-together {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: .5; }
  @media only screen and (max-width: 64em) {
    header#masthead nav.top-bar {
      display: none; } }
  header#masthead nav.top-bar .top-bar-top {
    background: none; }
    @media only screen and (max-width: 64em) {
      header#masthead nav.top-bar .top-bar-top .site-desktop-title.top-bar-title {
        display: none !important; } }
    header#masthead nav.top-bar .top-bar-top .site-desktop-title.top-bar-title .logo-wrapper a.custom-logo-link .custom-logo {
      max-width: 18.75rem; }
    header#masthead nav.top-bar .top-bar-top .site-desktop-title.top-bar-title .logo-wrapper .header-tagline,
    header#masthead nav.top-bar .top-bar-top .site-desktop-title.top-bar-title .logo-wrapper .header-secondary-tagline {
      color: #2c2b79;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 2.1875rem;
      font-weight: 500;
      line-height: 1.1;
      text-align: center;
      text-shadow: 0 0 0.625rem #FFFFFF;
      text-transform: uppercase; }
    header#masthead nav.top-bar .top-bar-top .site-desktop-title.top-bar-title .logo-wrapper .header-tagline {
      margin: 1.25rem auto;
      max-width: 30rem; }
    header#masthead nav.top-bar .top-bar-top .site-desktop-title.top-bar-title .logo-wrapper .header-secondary-tagline {
      font-family: "gloss-bloom", "Arial Narrow", Arial, Helvetica, sans-serif;
      line-height: 1.2;
      text-transform: none; }
  header#masthead nav.top-bar .top-bar-left .desktop-menu.menu {
    padding: 0.9375rem 0; }
    header#masthead nav.top-bar .top-bar-left .desktop-menu.menu:before, header#masthead nav.top-bar .top-bar-left .desktop-menu.menu:after {
      top: 0; }
    header#masthead nav.top-bar .top-bar-left .desktop-menu.menu > li {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important; }
    header#masthead nav.top-bar .top-bar-left .desktop-menu.menu > li > a {
      font-family: inherit !important;
      font-size: 1.6875rem;
      font-weight: 500;
      text-align: center; }
      @media only screen and (max-width: 75em) {
        header#masthead nav.top-bar .top-bar-left .desktop-menu.menu > li > a {
          letter-spacing: -.03em; } }
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu > li > a:before {
        height: 0.125rem; }
    header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown {
      background: rgba(255, 255, 255, 0.9);
      border: 0 !important;
      box-shadow: 0.125rem 0.3125rem 0.375rem rgba(0, 0, 0, 0.5);
      max-width: 12.5rem; }
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown > li {
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important; }
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown > li > a {
        font-family: inherit !important;
        font-size: 1.4375rem;
        font-weight: 500;
        text-align: center;
        text-transform: none;
        white-space: pre-wrap; }
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown > li > a:hover,
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown > li > a:focus,
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown > li.current-menu-item > a {
        color: #ec2027; }
      header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown .dropdown {
        display: block;
        position: relative;
        box-shadow: none;
        left: 0; }
        header#masthead nav.top-bar .top-bar-left .desktop-menu.menu .dropdown .dropdown > li > a:before {
          content: '\2013';
          margin-right: 0.125rem; }
    header#masthead nav.top-bar .top-bar-left .desktop-menu.menu > li:last-child .dropdown {
      left: auto;
      right: 0; }
  header#masthead nav.top-bar .top-bar-right {
    background: none; }
    @media only screen and (max-width: 64em) {
      header#masthead nav.top-bar .top-bar-right {
        display: none !important; } }
    header#masthead nav.top-bar .top-bar-right .top-bar-social {
      background: none; }
      header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper {
        margin-left: 0.9375rem;
        width: 17.5rem !important; }
        header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform {
          border: 0.125rem solid #2c2b79;
          margin-top: 0 !important;
          opacity: 1;
          padding: 0;
          position: relative;
          right: auto;
          top: auto;
          visibility: visible;
          width: 100%; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform * {
            border-radius: 0; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform .input-group .input-group-field {
            color: #2c2b79;
            font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
            font-size: 1.25rem;
            font-weight: 500;
            -webkit-order: 2;
                -ms-flex-order: 2;
                    order: 2;
            text-transform: uppercase; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform .input-group .input-group-button {
            -webkit-order: 1;
                -ms-flex-order: 1;
                    order: 1; }
            header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform .input-group .input-group-button input#searchsubmit {
              background: none !important; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform:before {
            color: #2c2b79;
            left: 0.5625rem;
            right: auto;
            top: 0.1875rem; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper.menu-search-wrapper form#searchform:after {
            display: none; }
      header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.top-bar-my-cart {
        z-index: 999; }
        header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.top-bar-my-cart a {
          position: relative; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.top-bar-my-cart a span.cart-contents {
            background: #ec2027 !important;
            border-radius: 1.25rem;
            color: #FFFFFF !important;
            font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
            font-size: 0.875rem;
            font-weight: 700;
            height: auto;
            left: 100%;
            line-height: 1.125rem;
            min-height: 1.25rem;
            min-width: 1.25rem;
            opacity: .75;
            padding: 0.0625rem 0.375rem;
            position: absolute;
            top: -0.5rem;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: auto;
            z-index: 99;
            transition: opacity 0.2s ease-out; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.top-bar-my-cart a span.cart-contents-count-0 {
            display: none; }
          header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.top-bar-my-cart a:hover span.cart-contents, header#masthead nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.top-bar-my-cart a:focus span.cart-contents {
            opacity: 1; }

nav.mobile-off-canvas-menu.off-canvas {
  padding-bottom: 1.25rem; }
  .admin-bar nav.mobile-off-canvas-menu.off-canvas {
    padding-bottom: 3.25rem; }
    @media only screen and (max-width: 48.875em) {
      .admin-bar nav.mobile-off-canvas-menu.off-canvas {
        padding-bottom: 4.125rem; } }
  nav.mobile-off-canvas-menu.off-canvas .menu > li {
    margin-bottom: 0.1875rem; }
  nav.mobile-off-canvas-menu.off-canvas .menu li, nav.mobile-off-canvas-menu.off-canvas .menu li a {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-weight: 500 !important; }
  nav.mobile-off-canvas-menu.off-canvas .menu:not(.nested) > li > a {
    font-size: 1.375rem !important;
    padding: 0.5625rem 1rem; }
  nav.mobile-off-canvas-menu.off-canvas .menu.nested > li > a {
    font-size: 1.3125rem !important; }
  nav.mobile-off-canvas-menu.off-canvas ul.social-media-wrapper {
    text-align: center; }
  nav.mobile-off-canvas-menu.off-canvas div.custom-button.alt-nav-my-cart a {
    border-radius: 3.125rem;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 1.25rem !important;
    padding: 0.25rem 1.5625rem; }
  nav.mobile-off-canvas-menu.off-canvas form#searchform {
    background: #FFFFFF !important;
    border: 0.125rem solid #2c2b79;
    border-radius: 0;
    margin-top: 0 !important;
    opacity: 1;
    padding: 0;
    position: relative;
    right: auto;
    top: auto;
    visibility: visible;
    width: 100%; }
    nav.mobile-off-canvas-menu.off-canvas form#searchform * {
      border-radius: 0; }
    nav.mobile-off-canvas-menu.off-canvas form#searchform .input-group .input-group-field {
      color: #2c2b79;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      font-weight: 500;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      text-transform: uppercase; }
    nav.mobile-off-canvas-menu.off-canvas form#searchform .input-group .input-group-button {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
      nav.mobile-off-canvas-menu.off-canvas form#searchform .input-group .input-group-button input#searchsubmit {
        background: none !important; }
    nav.mobile-off-canvas-menu.off-canvas form#searchform:before {
      content: '\f002';
      color: #2c2b79;
      display: block;
      font-family: 'Font Awesome 5 Pro';
      font-weight: 700;
      height: 2.125rem;
      line-height: 2.125rem;
      left: 0;
      right: auto;
      position: absolute;
      text-align: center;
      top: 0;
      width: 2.125rem; }
    nav.mobile-off-canvas-menu.off-canvas form#searchform:after {
      display: none; }

/**** HOME PAGE STYLES ****/
#three-portals-wrapper .bs-card-container .bs-card .bs-card-side h2, #three-portals-wrapper .bs-card-container .bs-card .bs-card-side a:not(.bs-btn-white), #three-portals-wrapper .bs-card-container .bs-card .bs-card-side span.small-heading {
  color: #FFFFFF !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important; }

#three-portals-wrapper .bs-card-container .bs-card .bs-card-side p {
  color: #FFFFFF !important;
  font-family: "mrs-eaves", Georgia, "Times New Roman", serif !important; }

#three-portals-wrapper .bs-card-container .bs-card .bs-card-side span.keep-together {
  color: #FFFFFF !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size: 1.75rem;
  font-weight: 400 !important; }
  #three-portals-wrapper .bs-card-container .bs-card .bs-card-side span.keep-together a.opentable {
    margin-right: 0.625rem; }
    #three-portals-wrapper .bs-card-container .bs-card .bs-card-side span.keep-together a.opentable:hover, #three-portals-wrapper .bs-card-container .bs-card .bs-card-side span.keep-together a.opentable:focus {
      color: #FFFFFF !important; }

/**** ABOUT US STYLES ****/
#about-us-wrapper p {
  font-size: 1.5625rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 35.9375rem;
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    #about-us-wrapper p {
      max-width: 100%; } }

@media only screen and (max-width: 47.9375em) {
  #about-us-wrapper .vc_col-sm-6 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

#about-us-wrapper .vc_col-sm-6:last-of-type .wpb_single_image {
  margin-bottom: 4.375rem !important;
  margin-top: 4.375rem !important; }
  @media only screen and (max-width: 47.9375em) {
    #about-us-wrapper .vc_col-sm-6:last-of-type .wpb_single_image {
      margin-bottom: 1.875rem !important;
      margin-top: 0 !important; } }

#about-us-wrapper .vc_col-sm-6:last-of-type .wpb_single_image * {
  margin-left: auto;
  margin-right: auto;
  width: 35.9375rem; }
  @media only screen and (max-width: 47.9375em) {
    #about-us-wrapper .vc_col-sm-6:last-of-type .wpb_single_image * {
      width: 100%; } }

@media only screen and (max-width: 47.9375em) {
  #about-us-wrapper .vc_col-sm-6:last-of-type {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

@media only screen and (max-width: 75em) {
  #about-us-wrapper {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; } }

/**** CALENDAR & SINGLE EVENT STYLES ****/
#tribe-events #tribe-events-content {
  margin: 0;
  padding: 0; }

#tribe-events div.tribe-events-title-bar {
  border: 0;
  display: none; }

#tribe-events .tribe-events-loop {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  height: auto !important;
  margin-left: -4.375rem;
  width: auto; }
  #tribe-events .tribe-events-loop .tribe-events-photo-grid-sizer,
  #tribe-events .tribe-events-loop .tribe-events-photo-gutter-sizer {
    display: none; }
  #tribe-events .tribe-events-loop div.type-tribe_events {
    background: none;
    left: 0 !important;
    margin-bottom: 5rem;
    padding-left: 4.375rem;
    position: relative !important;
    top: 0 !important;
    width: 33.3333%;
    transition: none !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important; }
    #tribe-events .tribe-events-loop div.type-tribe_events .tribe-events-photo-event-wrap {
      margin: 0;
      width: 100%; }
      #tribe-events .tribe-events-loop div.type-tribe_events .tribe-events-photo-event-wrap .tribe-events-event-image a {
        display: block;
        overflow: hidden; }
        #tribe-events .tribe-events-loop div.type-tribe_events .tribe-events-photo-event-wrap .tribe-events-event-image a img {
          height: auto;
          max-height: none;
          width: 100%;
          transition: all 0.2s ease-out; }
        #tribe-events .tribe-events-loop div.type-tribe_events .tribe-events-photo-event-wrap .tribe-events-event-image a:hover img, #tribe-events .tribe-events-loop div.type-tribe_events .tribe-events-photo-event-wrap .tribe-events-event-image a:focus img {
          -webkit-transform: scale(1.1) rotate(2deg);
              -ms-transform: scale(1.1) rotate(2deg);
                  transform: scale(1.1) rotate(2deg); }
    @media only screen and (max-width: 47.9375em) {
      #tribe-events .tribe-events-loop div.type-tribe_events {
        max-width: 100%;
        width: 100%; } }

#tribe-events .tribe-events-photo-event-wrap {
  background: #FFFFFF;
  border: 0;
  box-shadow: none !important;
  margin-left: auto;
  margin-right: auto;
  width: 90%; }
  @media only screen and (max-width: 47.9375em) {
    #tribe-events .tribe-events-photo-event-wrap {
      width: 100%; } }
  #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-image {
    margin-bottom: 3.375rem; }
    @media only screen and (max-width: 47.9375em) {
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-image {
        margin-bottom: 1.25rem; } }
  #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details {
    padding: 0;
    text-align: left; }
    #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details h3.tribe-events-list-event-title {
      color: #2c2b79;
      font-size: 2.5rem !important;
      font-weight: 500;
      line-height: 1;
      text-align: center;
      text-transform: uppercase; }
      @media only screen and (max-width: 64em) {
        #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details h3.tribe-events-list-event-title {
          font-size: 2.1875rem !important; } }
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details h3.tribe-events-list-event-title a {
        color: inherit;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit; }
    #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta {
      text-align: center; }
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta * {
        color: #ec2027;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-weight: 500; }
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-venue {
        font-size: 1.5625rem; }
        @media only screen and (max-width: 64em) {
          #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-venue {
            font-size: 1.25rem; } }
        @media only screen and (max-width: 47.9375em) {
          #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-venue {
            font-size: 1.5rem; } }
        #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-venue .tribe-event-venue-meta:before {
          background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/mapmarker-icon.svg) no-repeat center center;
          content: '';
          display: inline-block;
          height: 1.5rem;
          margin-right: 0.5rem;
          position: relative;
          top: 0.125rem;
          width: 1.1875rem; }
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-schedule-details {
        font-size: 1.5625rem; }
        @media only screen and (max-width: 64em) {
          #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-schedule-details {
            font-size: 1.25rem; } }
        @media only screen and (max-width: 47.9375em) {
          #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-schedule-details {
            font-size: 1.5rem; } }
        #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-schedule-details span.tribe-event-date-start {
          font-size: inherit; }
          #tribe-events .tribe-events-photo-event-wrap .tribe-events-event-details .tribe-events-event-meta .tribe-event-schedule-details span.tribe-event-date-start:before {
            background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/calendar-icon.svg) no-repeat center center;
            content: '';
            display: inline-block;
            height: 1.4375rem;
            margin-right: 0.5rem;
            position: relative;
            top: 0.125rem;
            width: 1.375rem; }
  #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description p {
    font-size: 1.5625rem; }
    @media only screen and (max-width: 64em) {
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description p {
        font-size: 1.375rem !important; } }
    @media only screen and (max-width: 47.9375em) {
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description p {
        font-size: 1.5rem !important; } }
  #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description .tribe-events-footer-buttons {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    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;
    margin-top: 1.25rem; }
    @media only screen and (max-width: 47.9375em) {
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description .tribe-events-footer-buttons {
        margin-top: 0.625rem; } }
    #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description .tribe-events-footer-buttons a.bs-btn {
      margin: 0 0.625rem 0.625rem 0; }
      #tribe-events .tribe-events-photo-event-wrap .tribe-events-list-photo-description .tribe-events-footer-buttons a.bs-btn + a.bs-btn {
        margin: 0; }

#tribe-events #tribe-events-header, #tribe-events a.tribe-events-ical {
  display: none; }

body.not-home .tribe-events-loop {
  margin-bottom: -5rem; }

body.not-home .tribe-event-featured:after {
  background: rgba(44, 43, 121, 0.75);
  border-radius: 0.1875rem 0 0 0.1875rem;
  content: 'Featured' !important;
  color: #FFFFFF;
  display: block;
  font-family: "mrs-eaves", Georgia, "Times New Roman", serif;
  font-size: 1rem;
  height: 1.875rem;
  position: absolute;
  padding: 0.25rem 0.625rem;
  right: 0;
  text-align: center;
  top: 0.9375rem;
  width: 5rem;
  width: auto;
  z-index: 100; }

#tribe-events-bar {
  display: none; }

#tribe_events_filters_wrapper {
  background: none !important;
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  padding: 0 !important; }
  #tribe_events_filters_wrapper .tribe-events-filters-content {
    background: none !important;
    border: 0;
    border-bottom: 0.125rem solid #2c2b79;
    padding-bottom: 1.25rem; }
    #tribe_events_filters_wrapper .tribe-events-filters-content label.tribe-events-filters-label {
      font-size: 1rem;
      font-weight: 500;
      margin: 0 0 1.25rem 0; }
    #tribe_events_filters_wrapper .tribe-events-filters-content .tribe_events_filter_control {
      margin: 0 0 1.25rem 0; }
      #tribe_events_filters_wrapper .tribe-events-filters-content .tribe_events_filter_control button:not(.tribe_events_filters_reset) {
        display: none; }
      #tribe_events_filters_wrapper .tribe-events-filters-content .tribe_events_filter_control button.tribe_events_filters_reset {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        border: 0;
        color: #000000;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        font-size: 1rem;
        font-weight: 500;
        margin: 0; }
        #tribe_events_filters_wrapper .tribe-events-filters-content .tribe_events_filter_control button.tribe_events_filters_reset span {
          line-height: 1.25rem; }
          #tribe_events_filters_wrapper .tribe-events-filters-content .tribe_events_filter_control button.tribe_events_filters_reset span:before {
            line-height: 1.25rem; }
    #tribe_events_filters_wrapper .tribe-events-filters-content span.tribe-events-filter-count {
      background: #ec2027;
      color: #FFFFFF !important;
      font-weight: 900 !important;
      text-align: center; }
  #tribe_events_filters_wrapper form#tribe_events_filters_form {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0; }
    #tribe_events_filters_wrapper form#tribe_events_filters_form > fieldset {
      float: none; }
    #tribe_events_filters_wrapper form#tribe_events_filters_form button.tribe-events-filters-group-heading {
      background: none;
      border: 0;
      color: #2c2b79;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      font-size: 1.5rem;
      font-weight: 500;
      padding: 0;
      text-transform: uppercase; }
    #tribe_events_filters_wrapper form#tribe_events_filters_form fieldset .tribe-events-filter-group {
      top: 2.5rem; }
      #tribe_events_filters_wrapper form#tribe_events_filters_form fieldset .tribe-events-filter-group ul li {
        padding: 0 0.625rem; }
        #tribe_events_filters_wrapper form#tribe_events_filters_form fieldset .tribe-events-filter-group ul li label {
          font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
          font-size: 1.5rem !important;
          line-height: 1.5; }
    #tribe_events_filters_wrapper form#tribe_events_filters_form fieldset:last-of-type .tribe-events-filter-group {
      left: auto;
      right: -0.625rem; }
      #tribe_events_filters_wrapper form#tribe_events_filters_form fieldset:last-of-type .tribe-events-filter-group:before, #tribe_events_filters_wrapper form#tribe_events_filters_form fieldset:last-of-type .tribe-events-filter-group:after {
        left: auto;
        right: 0.9375rem; }

.tribe-events-nav-pagination {
  margin-bottom: 1.25rem; }
  .tribe-events-nav-pagination ul li a {
    background: #FFFFFF;
    color: #2c2b79 !important;
    font-size: 1.25rem;
    padding: 0; }

/* Single Event Styles */
body.single-tribe_events .main-wrap.full-width {
  max-width: 51.875rem !important; }
  body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content p {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 1.75rem; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content p.tribe-events-back a {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      font-weight: 500; }
  body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content h1.tribe-events-single-event-title {
    font-family: "gloss-bloom", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 500;
    float: none !important;
    min-width: 10.625rem;
    padding-top: 0.6875rem !important;
    text-align: center; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content h1.tribe-events-single-event-title span.tribe-events-single-event-title-inner {
      display: inline-block;
      font-family: inherit !important;
      font-weight: inherit;
      line-height: 1.5;
      margin-bottom: 1.25rem !important;
      min-width: 10.625rem;
      overflow: visible;
      padding: 0 0.9375rem 0.125rem !important;
      position: relative; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content h1.tribe-events-single-event-title span.tribe-events-single-event-title-inner:after {
        background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/section-heading-underline.svg) no-repeat center top;
        background-size: 100%;
        bottom: 0;
        content: '';
        display: block;
        height: 0.375rem;
        left: 50%;
        max-width: 10.625rem;
        position: absolute;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        width: 100%; }
  body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-schedule {
    background: none;
    border: 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: 0;
    margin-bottom: 1.25rem;
    padding: 0;
    text-align: center; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-schedule h2 {
      font-weight: 500;
      text-align: center;
      width: 100%; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-schedule span.tribe-events-cost {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      font-size: 2rem;
      font-weight: 500; }
  body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-event-description {
    font-size: 1.25rem;
    line-height: 1.5; }
  body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: -1.875rem; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .tribe-events-event-image {
      margin-left: 1.875rem;
      width: 100%; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .bs-tribe-event-wrapper {
      margin-left: 1.875rem;
      width: calc(65% - 1.875rem); }
      @media only screen and (max-width: 47.9375em) {
        body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .bs-tribe-event-wrapper {
          width: calc(100% - 1.875rem); } }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .tribe-events-single-section.tribe-events-event-meta.primary {
      margin-top: 0;
      margin-left: 1.875rem;
      width: calc(35% - 1.875rem); }
      @media only screen and (max-width: 47.9375em) {
        body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .tribe-events-single-section.tribe-events-event-meta.primary {
          width: calc(100% - 1.875rem); } }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .tribe-events-single-section.tribe-events-event-meta.primary .tribe-events-meta-group {
        width: 100%; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .tribe-events-single-section.tribe-events-event-meta.secondary {
      border: 0.625rem double #2c2b79;
      margin-left: 1.875rem;
      width: calc(100% - 1.875rem); }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .eventbrite-ticket-embed {
      border: 0.625rem double #2c2b79;
      margin-left: 1.875rem;
      overflow: hidden;
      width: calc(100% - 1.875rem); }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe_events .eventbrite-ticket-embed iframe {
        margin-left: -0.0625rem;
        margin-right: -0.0625rem;
        margin-top: -0.0625rem;
        width: calc(100% + 2px); }
  body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section {
    padding: 0; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section.primary {
      background: #e6e6e6;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      width: auto; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group {
      padding: 0.9375rem 0.9375rem 1.25rem; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group:first-of-type {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        margin: 0; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group:nth-of-type(2) {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        margin: 0 0 0.9375rem;
        padding-top: 0.9375rem;
        padding-bottom: 0; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group h2 {
        font-weight: 500;
        line-height: 1;
        margin-top: 0;
        margin-bottom: 0.3125rem; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dd, body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dt {
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 1.5rem;
        line-height: 1; }
        body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dd a, body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dt a {
          color: #000000;
          pointer-events: none; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dd {
        line-height: 1.1;
        margin-bottom: 1.25rem !important; }
        body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dd:last-of-type {
          margin-bottom: 0 !important; }
        body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group dl dd.tribe-events-event-url a {
          color: #171c38;
          pointer-events: all;
          text-decoration: underline; }
      body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section .tribe-events-meta-group .tribe-country-name {
        display: none; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section.secondary .tribe-events-meta-group h2 {
      color: #2c2b79; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section.secondary .tribe-events-meta-group a {
      color: #ec2027;
      display: block;
      text-decoration: none; }
    body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section.secondary .tribe-events-venue-map {
      margin: 0.625rem 0.625rem 0.625rem 0; }
      @media only screen and (max-width: 47.9375em) {
        body.single-tribe_events .main-wrap.full-width #tribe-events #tribe-events-content .tribe-events-single-section.secondary .tribe-events-venue-map {
          margin: 0 0.625rem 0.625rem;
          width: calc(100% - 1.25rem); } }

/**** INTERNAL PAGE STYLES ****/
body.not-home.woocommerce-page div.main-wrap article.main-content, body.not-home.page-template-page-sidebar-left div.main-wrap article.main-content {
  width: calc(100% - 26.875rem); }
  @media only screen and (max-width: 64em) {
    body.not-home.woocommerce-page div.main-wrap article.main-content, body.not-home.page-template-page-sidebar-left div.main-wrap article.main-content {
      width: calc(100% - 16.25rem); } }
  body.not-home.woocommerce-page div.main-wrap article.main-content .breadcrumbs-wrapper, body.not-home.page-template-page-sidebar-left div.main-wrap article.main-content .breadcrumbs-wrapper {
    padding: 0; }
    body.not-home.woocommerce-page div.main-wrap article.main-content .breadcrumbs-wrapper ul#breadcrumbs, body.not-home.page-template-page-sidebar-left div.main-wrap article.main-content .breadcrumbs-wrapper ul#breadcrumbs {
      margin-top: 0; }

body.not-home.woocommerce-page div.main-wrap aside.sidebar, body.not-home.page-template-page-sidebar-left div.main-wrap aside.sidebar {
  background: url(//www.taylorsmarket.com/wp-content/uploads/2019/03/blue-chalkboard-vertical-bg.jpg) no-repeat center top;
  background-size: cover;
  margin-top: -2.5rem;
  max-width: 23.125rem;
  padding-top: 2.5rem;
  width: 100%; }
  @media only screen and (max-width: 64em) {
    body.not-home.woocommerce-page div.main-wrap aside.sidebar, body.not-home.page-template-page-sidebar-left div.main-wrap aside.sidebar {
      padding: 2.5rem 0.9375rem 0; } }
  @media only screen and (max-width: 47.9375em) {
    body.not-home.woocommerce-page div.main-wrap aside.sidebar, body.not-home.page-template-page-sidebar-left div.main-wrap aside.sidebar {
      margin: 0;
      max-width: 100%;
      padding: 1.5625rem 0.9375rem 0;
      width: 100% !important; } }

body.not-home.page-template-page-taylors-kitchen .kitchen-open-hours {
  color: #5c5b5b !important;
  font-family: "mrs-eaves", Georgia, "Times New Roman", serif !important;
  font-size: 1.875rem;
  text-align: center; }

body.not-home.page-template-page-taylors-kitchen #main-container p, body.not-home.page-template-page-taylors-kitchen #main-container li, body.not-home.page-template-page-taylors-kitchen #main-container span, body.not-home.page-template-page-taylors-kitchen #main-container time {
  color: #5c5b5b !important;
  font-size: 1.5rem; }

body.not-home.page-template-page-taylors-kitchen #main-container .staff-excerpt p {
  color: #FFFFFF !important; }

body.not-home.page-template-page-taylors-kitchen #main-container div#instafeed a.instagram-image span.ig-caption {
  background: #5c5b5b !important;
  color: #FFFFFF !important;
  font-size: 1rem !important; }

section.bs-kitchen-menu-items-loop {
  border-bottom: 0.0625rem solid #5c5b5b; }
  section.bs-kitchen-menu-items-loop ul.accordion {
    text-align: center; }
    section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item {
      text-align: center; }
      section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item a.accordion-title {
        border: 0;
        border-top: 0.0625rem solid #5c5b5b;
        color: #5c5b5b;
        font-family: "mrs-eaves", Georgia, "Times New Roman", serif;
        font-size: 1.875rem;
        font-weight: 600;
        letter-spacing: 0.1875rem;
        text-decoration: none;
        text-transform: uppercase;
        transition: background 0.2s ease-out; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item a.accordion-title:before {
          display: none; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item a.accordion-title:after {
          content: '\f107';
          display: inline-block;
          font-family: 'Font Awesome 5 Pro' !important;
          font-weight: 100;
          line-height: .5;
          margin: 0.25rem 0 0 0.625rem;
          position: relative;
          top: 0;
          -webkit-transform: rotate(-90deg);
              -ms-transform: rotate(-90deg);
                  transform: rotate(-90deg);
          transition: all 0.2s ease-out; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item a.accordion-title:hover, section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item a.accordion-title:focus {
          background: #f2f2f2; }
        @media only screen and (max-width: 47.9375em) {
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item a.accordion-title:after {
            position: absolute;
            top: auto; } }
      section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content {
        border: 0;
        padding: 0; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item {
          margin-bottom: 2.5rem; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item h3 {
            color: #5c5b5b !important;
            font-family: "mrs-eaves", Georgia, "Times New Roman", serif;
            font-size: 1.6875rem !important;
            letter-spacing: 0 !important;
            line-height: 1.2;
            margin-bottom: 0;
            text-align: center; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item .menu-item-content {
            margin: 0 auto;
            max-width: 52.5rem; }
            section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item .menu-item-content p {
              font-size: 1.5rem;
              margin-bottom: 2.5rem; }
              section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item .menu-item-content p:last-of-type {
                margin-bottom: 0; }
              section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item .menu-item-content p + p.menu-item-price {
                margin-top: -2.5rem; }
              section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item .menu-item-content p.menu-item-price {
                font-size: 1.5rem;
                font-weight: 700; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item:last-child {
            margin-bottom: 0; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item.no-tabs {
            padding-left: 1rem;
            padding-right: 1rem; }
            section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .single-kitchen-menu-item.no-tabs:last-child {
              padding-bottom: 1rem; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .term-description {
          padding-bottom: 1.25rem !important; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content ul.tabs {
          background: #f2f2f2;
          text-align: center; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content ul.tabs li.tabs-title {
            display: inline-block;
            float: none;
            margin: 0 0.9375rem; }
            @media only screen and (max-width: 47.9375em) {
              section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content ul.tabs li.tabs-title {
                margin: 0 0 0.9375rem 0; } }
            section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content ul.tabs li.tabs-title > a {
              background: none;
              border: 0;
              bottom: 0;
              box-shadow: none !important;
              color: #5c5b5b;
              display: inline-block;
              font-size: 1.5rem;
              line-height: 1;
              padding: 0;
              text-transform: uppercase; }
            section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content ul.tabs li.tabs-title.is-active > a {
              border-bottom: 0.125rem solid #000000 !important;
              color: #000000; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .tabs-content {
          border: 0;
          font-family: "mrs-eaves", Georgia, "Times New Roman", serif; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .tabs-content .tabs-panel {
            border: 0;
            display: block;
            height: 0;
            opacity: 0;
            padding: 0 1rem;
            transition: all .5s ease-out; }
            section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item div.accordion-content .tabs-content .tabs-panel.is-active {
              height: auto;
              opacity: 1;
              padding: 1rem; }
      section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item.is-active {
        background: #f2f2f2; }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item.is-active a.accordion-title {
          border-bottom: 0; }
          section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item.is-active a.accordion-title:after {
            top: 0.25rem;
            -webkit-transform: rotate(0deg);
                -ms-transform: rotate(0deg);
                    transform: rotate(0deg); }
          @media only screen and (max-width: 47.9375em) {
            section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item.is-active a.accordion-title:after {
              position: absolute;
              top: auto; } }
        section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item.is-active .accordion-content {
          background: #f2f2f2; }
      section.bs-kitchen-menu-items-loop ul.accordion li.accordion-item:first-child a.accordion-title {
        border-top: 0; }

body.not-home.woocommerce-page div.main-wrap article.main-content .product-meta span.meta-item {
  border-right: 0.125rem solid #2c2b79;
  display: inline-block;
  line-height: 1;
  margin-right: 0.5rem;
  padding-right: 0.5rem; }
  body.not-home.woocommerce-page div.main-wrap article.main-content .product-meta span.meta-item:last-of-type {
    border-right: 0;
    margin-right: 0;
    padding-right: 0; }

body.not-home.woocommerce-page div.main-wrap article.main-content .entry-content .product-top-wrapper .woocommerce-product-gallery a.woocommerce-product-gallery__trigger {
  display: none; }

body.not-home.woocommerce-page div.main-wrap article.main-content .entry-content .product-top-wrapper .woocommerce-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
  margin-bottom: 1.875rem; }
  body.not-home.woocommerce-page div.main-wrap article.main-content .entry-content .product-top-wrapper .woocommerce-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img.wp-post-image {
    width: 100%; }

body.not-home.woocommerce-page div.main-wrap article.main-content .entry-content .product-top-wrapper .woocommerce-product-gallery .woocommerce-product-gallery__wrapper .gallery {
  margin-bottom: 0;
  margin-top: 1.875rem; }

body.not-home.woocommerce-page div.main-wrap aside.sidebar form.woocommerce-product-search {
  background: transparent;
  border: 0.125rem solid #FFFFFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar form.woocommerce-product-search input.search-field {
    background: transparent;
    border: 0;
    color: #FFFFFF;
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    height: 2.125rem;
    line-height: 1.875rem;
    margin: 0;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    padding: 0.125rem 0.3125rem; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar form.woocommerce-product-search button {
    height: 2.125rem;
    line-height: 2.125rem;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    position: relative;
    text-indent: -9999px;
    width: 2.125rem; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar form.woocommerce-product-search button:after {
      color: #FFFFFF;
      content: '\f002';
      display: block;
      font-family: 'Font Awesome 5 Pro';
      height: 2.125rem;
      line-height: 2.125rem;
      position: absolute;
      text-indent: 0;
      top: 0;
      width: 2.125rem; }

body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget {
  margin-bottom: 5rem; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget:last-of-type {
    margin-bottom: 0; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget h6 {
    border-bottom: 0;
    color: #ece810 !important;
    font-size: 1.75rem !important;
    font-weight: 500;
    margin: 0 0 0.625rem 0;
    padding: 0;
    text-align: center; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget h6:before {
      display: none; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget ul#filters {
    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-bottom: 1.875rem; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget ul#filters li {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
      margin-bottom: 0.3125rem; }
      body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget ul#filters li:last-child {
        width: 100%; }
      body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget ul#filters li a {
        color: #FFFFFF;
        display: block;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
        font-size: 1.4375rem !important;
        font-weight: 500;
        line-height: 1.2;
        padding: 0 0.3125rem;
        text-align: center;
        text-transform: uppercase; }
        body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget ul#filters li a.active {
          color: #ece810;
          text-decoration: underline; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget .wc-brands-wrapper {
    transition: height 0.2s ease-out; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget .wc-brands-wrapper .bs-isotope-item {
      margin-bottom: 1.25rem;
      text-align: center;
      width: 100%; }
      body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget .wc-brands-wrapper .bs-isotope-item a {
        color: #FFFFFF;
        font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
        font-size: 1.4375rem;
        font-weight: 500;
        text-transform: uppercase; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories li.cat-item {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: center; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories li.cat-item a {
      color: #FFFFFF;
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      font-size: 1.4375rem !important;
      font-weight: 500;
      text-transform: uppercase; }
      body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories li.cat-item a:hover, body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories li.cat-item a:focus {
        text-decoration: underline; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories li.cat-item ul.children {
      border-top: 0;
      margin-left: 0; }
      body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories li.cat-item ul.children li.cat-item a {
        text-transform: none; }
  body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories > li.cat-item {
    margin-bottom: 1.25rem; }
    body.not-home.woocommerce-page div.main-wrap aside.sidebar .widget.woocommerce.widget_product_categories ul.product-categories > li.cat-item > a {
      line-height: 1.1;
      margin-bottom: 0; }

#footer-container .footer-container {
  background: #2c2b79 url(//www.taylorsmarket.com/wp-content/uploads/2019/03/footer-bg.jpg) no-repeat center top;
  background-size: 100% 100%;
  padding: 3.75rem 0;
  position: relative; }
  @media only screen and (max-width: 40em) {
    #footer-container .footer-container {
      background: #2c2b79 url(//www.taylorsmarket.com/wp-content/uploads/2019/03/blue-chalkboard-vertical-bg.jpg) no-repeat center center;
      background-size: cover; } }
  #footer-container .footer-container:before, #footer-container .footer-container:after {
    background: #FFFFFF;
    content: '';
    display: block;
    height: 0.4375rem;
    left: 0;
    position: absolute;
    width: 100%;
    top: 1.5rem; }
  #footer-container .footer-container:after {
    bottom: 1.5rem;
    top: auto; }
  #footer-container .footer-container section.large-3:first-of-type {
    width: 43%; }
    @media only screen and (max-width: 75em) {
      #footer-container .footer-container section.large-3:first-of-type {
        max-width: 50rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 3.75rem;
        width: 100%; }
        #footer-container .footer-container section.large-3:first-of-type p {
          text-align: center; } }
  #footer-container .footer-container section.large-3:nth-of-type(2) {
    width: 19%; }
    @media only screen and (max-width: 75em) {
      #footer-container .footer-container section.large-3:nth-of-type(2) {
        width: 33.3333%; } }
    @media only screen and (max-width: 40em) {
      #footer-container .footer-container section.large-3:nth-of-type(2) {
        margin-bottom: 3.75rem;
        width: 100%; } }
  #footer-container .footer-container section.large-3:nth-of-type(3) {
    width: 19%; }
    @media only screen and (max-width: 75em) {
      #footer-container .footer-container section.large-3:nth-of-type(3) {
        margin-bottom: 3.75rem;
        width: 33.3333%; } }
    @media only screen and (max-width: 40em) {
      #footer-container .footer-container section.large-3:nth-of-type(3) {
        width: 100%; } }
  #footer-container .footer-container section.large-3:last-of-type {
    width: 19%; }
    @media only screen and (max-width: 75em) {
      #footer-container .footer-container section.large-3:last-of-type {
        width: 33.3333%; } }
    @media only screen and (max-width: 40em) {
      #footer-container .footer-container section.large-3:last-of-type {
        width: 100%; } }
  #footer-container .footer-container .widget h6 {
    font-size: 1.75rem !important;
    font-weight: 500;
    margin-bottom: 1.25rem;
    text-align: center;
    text-transform: uppercase; }
    #footer-container .footer-container .widget h6.widget-title {
      margin-top: 1.25rem; }
  #footer-container .footer-container .widget ul.menu li {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 1.375rem;
    font-weight: 500; }
    #footer-container .footer-container .widget ul.menu li a {
      font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
      text-align: center;
      text-decoration: underline;
      text-transform: uppercase; }
  #footer-container .footer-container .widget ul.social-media-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 1.25rem; }
    #footer-container .footer-container .widget ul.social-media-wrapper li a {
      display: block;
      font-size: 1.75rem;
      text-align: center;
      width: 3rem; }
  #footer-container .footer-container .widget p {
    font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
    font-size: 1.375rem;
    font-weight: 500; }
  #footer-container .footer-container .widget:first-of-type p {
    font-family: "mrs-eaves", Georgia, "Times New Roman", serif !important;
    font-weight: 400; }

#footer-container #copyright-container p {
  font-family: "Futura Condensed", "futura-pt-condensed", "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.5rem;
  font-weight: 500; }

#footer-container #copyright-container a {
  text-decoration: underline; }

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

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

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

.mobile-menu {
  display: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

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

div.pre-footer-container + div.footer-container {
  margin-top: 0; }

div.pre-footer-container .pre-footer {
  margin: 0 auto;
  max-width: 87.5rem;
  padding: 1.875rem 0; }

div.pre-footer-container .widget {
  padding: 0 0.9375rem; }
  div.pre-footer-container .widget p:last-of-type {
    margin-bottom: 0; }

body.home div.pre-footer-container {
  margin-top: 0; }

.footer-container {
  margin: 0 auto; }

.footer {
  max-width: 87.5rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  padding: 1.875rem 0 !important; }
  .footer article {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin: 0; }
  .footer ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }

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

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

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

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

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

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

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

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

.section-divider {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .section-divider hr {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    box-sizing: border-box; }

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

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiYXBwLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCJnbG9iYWwvX2FsbG9uc3ktY29yZS5zY3NzIiwiZ2xvYmFsL19icy12YXJpYWJsZXMuc2NzcyIsImdsb2JhbC9fYnMtYTExeS5zY3NzIiwiZ2xvYmFsL19wcmVsb2FkZXIuc2NzcyIsImdsb2JhbC9fZ2VuZXJhbC1zdHlsZXMuc2NzcyIsImdsb2JhbC9faGVhZGVyLnNjc3MiLCJnbG9iYWwvX2hlYWRlci1vbmUuc2NzcyIsImdsb2JhbC9faGVhZGVyLXR3by5zY3NzIiwiZ2xvYmFsL19oZWFkZXItdGhyZWUuc2NzcyIsImdsb2JhbC9faGVhZGVyLWZvdXIuc2NzcyIsImdsb2JhbC9fb2ZmLWNhbnZhcy5zY3NzIiwiZ2xvYmFsL19tZW51LXRvcC1iYXIuc2NzcyIsImdsb2JhbC9fc3RpY2t5LWhlYWRlci5zY3NzIiwiZ2xvYmFsL19oZWFkZXItb3ZlcnJpZGVzLnNjc3MiLCJnbG9iYWwvX2hvbWUtcGFnZS5zY3NzIiwiZ2xvYmFsL19icy1icmVhZGNydW1icy5zY3NzIiwiZ2xvYmFsL19icy10aXRsZS1zdHlsZXMuc2NzcyIsImdsb2JhbC9fZGVmYXVsdC1wYWdlLXN0eWxlcy5zY3NzIiwiZ2xvYmFsL19mdWxsLXdpZHRoLXBhZ2Utc3R5bGVzLnNjc3MiLCJnbG9iYWwvX3Bvc3QtbmF2LnNjc3MiLCJnbG9iYWwvX3NpZGViYXItc3R5bGVzLnNjc3MiLCJnbG9iYWwvX3NvY2lhbC1zaGFyZS5zY3NzIiwiZ2xvYmFsL19nYWxsZXJ5LXNob3J0Y29kZS5zY3NzIiwiZ2xvYmFsL19icy1wYWdpbmF0aW9uLnNjc3MiLCJnbG9iYWwvX2JzLWdyYXZpdHktZm9ybXMuc2NzcyIsImdsb2JhbC9fYnMtYmxvZy1zdHlsZXMuc2NzcyIsImdsb2JhbC9fYmxvZy1sb29wLXNob3J0Y29kZS5zY3NzIiwiZ2xvYmFsL19icy1jb21tZW50cy5zY3NzIiwiZ2xvYmFsL19hamF4LWJsb2ctbG9vcC1zaG9ydGNvZGUuc2NzcyIsImdsb2JhbC9fYnMtc3RhZmYuc2NzcyIsImdsb2JhbC9fNDA0LXN0eWxlcy5zY3NzIiwiZ2xvYmFsL19icy1mb290ZXIuc2NzcyIsImdsb2JhbC9fYnMtcG9wdXAuc2NzcyIsImdsb2JhbC9faW5zdGFmZWVkLnNjc3MiLCJnbG9iYWwvX3NsaWNrLnNjc3MiLCJnbG9iYWwvX3dvb2NvbW1lcmNlLnNjc3MiLCJnbG9iYWwvX2JzLXN0eWxlcy5zY3NzIiwibW9kdWxlcy9fbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19lZGl0b3Itc3R5bGUuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlcnMuc2NzcyIsImNvbXBvbmVudHMvX2xpbmtzLnNjc3MiLCJ0ZW1wbGF0ZXMvX2Zyb250LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDMEpHO0VDbkhKO0lBQ0UsWUFBVztJQUNYLFdBQVU7SUFDVixlQUFjLEVBQ2YsRUFBQTs7QUNIRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VFOUVGLGVBWHVDO0VGb0dqQyxpQkFBZ0IsRUFFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQWFEOzs7T0FHRztBQUVIO0VBQ0Usa0NBQWlDO0VBQUUsT0FBTztFQUMxQyxlQUFjO0VBQUUsT0FBTyxFQUN4Qjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHNDQUFxQztFQUFFLE9BQU8sRUFDL0M7O0FBRUQ7OztPQUdHO0FBRUg7O0VBRUUsaUJBQWdCLEVBQ2pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLG9CQUFtQjtFQUFFLE9BQU87RUFDNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztPQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztPQUVHO0FBUEg7O0VBV0Usb0JBQW1CLEVBQ3BCOztBQUVEOzs7T0FHRztBQUVIOzs7RUFHRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLHVCQUFzQjtFQUN0QixZQUFXLEVBQ1o7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxlQUFjO0VBQ2QsZUFBYztFQUNkLG1CQUFrQjtFQUNsQix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDs7RUFFRSxzQkFBcUIsRUFDdEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGNBQWE7RUFDYixVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDs7Ozs7RUFLRSx3QkN6WnVCO0VEeVpTLE9BQU87RUFDdkMsZ0JBQWU7RUFBRSxPQUFPO0VBS3RCLGtCQUFpQjtFQUFFLE9BQU87RUFFNUIsVUFBUztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7O09BR0c7QUFFSDs7RUFDUyxPQUFPO0VBQ2QscUJBQW9CLEVBQ3JCOztBQUVEOzs7O09BSUc7QUFFSDs7OztFQUlFLDJCQUEwQjtFQUFFLE9BQU8sRUFDcEM7O0FBRUQ7Ozs7RUFLRTs7U0FFRztFQU9IOztTQUVHLEVBS0o7RUFyQkQ7Ozs7SUFVSSxtQkFBa0I7SUFDbEIsV0FBVSxFQUNYO0VBWkg7Ozs7SUFtQkksK0JBQThCLEVBQy9COztBQUdIOztPQUVHO0FBRUg7RUFDRSxrQkFBaUIsRUFDbEI7O0FBRUQ7OztPQUdHO0FKck1QOztFSXlNTSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLFdBQVU7RUFBRSxPQUFPLEVBQ3BCOztBQUVEOztPQUVHO0FKck1QOztFSXlNTSxhQUFZLEVBQ2I7O0FBRUQ7OztPQUdHO0FKdk1QO0VJME1NLDhCQUE2QjtFQUFFLE9BQU87RUFDdEMscUJBQW9CO0VBQUUsT0FBTztFQUU3Qjs7U0FFRyxFQU1KO0VKN01IO0lJMk1NLHlCQUF3QixFQUN6Qjs7QUFHSDs7O09BR0c7QUFFSDtFQUNFLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsY0FBYTtFQUFFLE9BQU8sRUFDdkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLDBCQUF5QjtFQUN6QixjQUFhO0VBQ2IsK0JBQThCLEVBQy9COztBQUVEOzs7OztPQUtHO0FBRUg7RUFDRSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLGVBQWM7RUFBRSxPQUFPO0VBQ3ZCLGdCQUFlO0VBQUUsT0FBTztFQUN4QixXQUFVO0VBQUUsT0FBTztFQUNuQixlQUFjO0VBQUUsT0FBTztFQUN2QixvQkFBbUI7RUFBRSxPQUFPLEVBQzdCOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usc0JBQXFCO0VBQUUsT0FBTztFQUM5Qix5QkFBd0I7RUFBRSxPQUFPLEVBQ2xDOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQXFCZjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLHNCQUFxQixFQUN0Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsY0FBYSxFQUNkOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBSmxQUDtFSXFQTSxjQUFhLEVBQ2Q7O0FHM2hCSDtFQUNFLDhFQUFnRCxFQUNqRDs7QUg5RUM7RUdpRkEsdUJBQXNCO0VBQ3RCLGdCQ3ZFbUIsRUR3RXBCOztBQUdEOzs7RUFHRSxvQkFBbUIsRUFDcEI7O0FIbEVDO0VHc0VBLFVBQVM7RUFDVCxXQUFVO0VBRVYsb0JDeEVXO0VEMEVYLCtKQ3ZFZ0s7RUR3RWhLLG9CQ25FeUI7RURvRXpCLGlCQ3hGbUI7RUR5Rm5CLGVDOUVXO0VEaUZULG9DQUFtQztFQUNuQyxtQ0FBa0MsRUFFckM7O0FIeU9DO0VHck9BLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFHdEIsZ0JBQWU7RUFDZixhQUFZO0VBQ1osZ0NBQStCLEVBQ2hDOztBSDJaQztFR3ZaQSxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLGlCQzFGYSxFRDJGZDs7QUFHRDtFQUNFLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsaUJDakdhLEVEa0dkOztBQUlEOzs7Ozs7RUFLSSwyQkFBMEIsRUFDM0I7O0FIZ1BEO0VHek9BLFdBQVU7RUFFVix5QkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxpQkN2SGE7RUR3SGIsd0JBQXVCO0VBRXZCLGVBQWMsRUFDZjtFUDZRRDtJU3hSRSxXQUFVLEVBQ1g7O0FMNENDO0VHOUJBLGVBQWMsRUFDZjs7QUh3TUM7Ozs7O0VHaE1BLHFCQUFvQixFQUNyQjs7QUFHRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDtFQUNFLHlCQUF3QixFQUN6Qjs7QUduT0Q7RUNFQSxpQkMwRXVEO0VEekV2RCxlQUFjLEVERGI7O0FBRUQ7RUNZSSx3QkM0RG1EO0VEM0RuRCx5QkMyRG1ELEVGdEV0RDtFUjZJRztJUS9JSjtNQ1lJLHdCQzREbUQ7TUQzRG5ELHlCQzJEbUQsRUZ0RXRELEVBQUE7RVJrSkc7SVFwSko7TUNxQkUsZ0JBQWU7TUFDZixpQkFBZ0IsRURwQmpCLEVBQUE7O0FBR0Q7RUNnQ0Esc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFIcUI7TUFHckIsd0JBSHFCO1VBR3JCLG9CQUhxQixFRDVCcEI7O0FBRUQ7RUd5QkUsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGVBQWM7RUFrQ2QsWUFEb0QsRUhoRHJEO0VBWkQ7SUc4QkUsc0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWEsRUh4Qlo7RUFOSDtJR2lDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFSHZCYjs7QUFHSDtFR3dDRSxZQUFtQixFSHJDbEI7O0FBSEg7RUc0Q0UsWUFBbUIsRUhyQ2xCOztBQVNEO0VBTUkseUJBQWdCO01BQWhCLDhCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7O0FSa0dEO0VRekdGO0lBTUkseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFDakIsRUFBQTs7QVJrR0Q7RVF6R0Y7SUFNSSx5QkFBZ0I7UUFBaEIsOEJBQWdCO1lBQWhCLGlCQUFnQixFQUNqQixFQUFBOztBQW1CRDtFR01GLGdCQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLFdBRG9ELEVISGpEOztBQUZEO0VHTUYsaUJBRG9ELEVISGpEOztBQUZEO0VHTUYsaUJBRG9ELEVISGpEOztBQUZEO0VHTUYsV0FEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixXQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLFlBRG9ELEVISGpEOztBUjZFRDtFUTVGQTtJR1pGLHNCQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhO0lBdUJiLFlBQW1CLEVIUmhCO0VBRUQ7SUdkRix1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQXdCZCxZQUFtQixFSFBoQjtFQUtEO0lHTUYsZ0JBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFlBRG9ELEVISGpELEVBQUE7O0FSNkVEO0VRNUZBO0lHWkYsc0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUhSaEI7RUFFRDtJR2RGLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBd0JkLFlBQW1CLEVIUGhCO0VBS0Q7SUdNRixnQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsWUFEb0QsRUhIakQsRUFBQTs7QUFLTDtFQUNFLFlBQVcsRUFDWjs7QUFHRDtFQUNFLGFBQVksRUFDYjs7QUE2QkQ7RUkzRk0sd0JBQTRCO0VBQTVCLHlCQUE0QixFSjBIakM7RVJLRztJUXBDSjtNSTNGTSx3QkFBNEI7TUFBNUIseUJBQTRCLEVKMEhqQyxFQUFBO0VBL0JEO0lHaERFLDZCQUQ0RTtJQ2pDMUUsdUJBQTRCO0lBQTVCLHdCQUE0QixFSndGN0I7RVI4QkM7SVFwQ0o7TUdoREUsNkJBRDRFO01DakMxRSx1QkFBNEI7TUFBNUIsd0JBQTRCLEVKK0Z6QixFQUFBO0VBckNQO0lHckJFLFlBQW1CLEVIdUJwQjtFQUVEO0lHckJFLFlBQW1CLEVIdUJwQjtFQU1DO0lHekJBLGlDQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNEJBRGdILEVINEIvRztFQUZEO0lHekJBLGtDQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNEJBRGdILEVINEIvRztFQUZEO0lHekJBLGtDQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNEJBRGdILEVINEIvRztFQUZEO0lHekJBLGtDQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNkJBRGdILEVINEIvRztFUjhDQztJUTVESjtNR3JCRSxZQUFtQixFSHVCcEI7SUFFRDtNR3JCRSxZQUFtQixFSHVCcEI7SUFNQztNR3pCQSxpQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDZCQURnSCxFSDRCL0c7SUFkSDtNR3JCRSxZQUFtQixFSHVCcEI7SUFFRDtNR3JCRSxZQUFtQixFSHVCcEI7SUFNQztNR3pCQSxpQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDZCQURnSCxFSDRCL0csRUFBQTtFUjhDQztJUTVESjtNR3JCRSxZQUFtQixFSHVCcEI7SUFFRDtNR3JCRSxZQUFtQixFSHVCcEI7SUFNQztNR3pCQSxpQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDRCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLDZCQURnSCxFSDRCL0csRUFBQTs7QUE4Q0g7RUkvSE0seUJBQTRCO0VBQTVCLHdCQUE0QixFSm9JL0I7RVJMQztJUUFKO01JL0hNLHlCQUE0QjtNQUE1Qix3QkFBNEIsRUpvSS9CLEVBQUE7O0FBTEg7RUkvSE0seUJBQTRCO0VBQTVCLHdCQUE0QixFSnlJL0I7RVJWQztJUUFKO01JL0hNLHlCQUE0QjtNQUE1Qix3QkFBNEIsRUp5SS9CLEVBQUE7O0FLNUlIO0VGeURFLFlBRG9ELEVFdERyRDs7QUFGRDtFRnlERSxXQURvRCxFRXREckQ7O0FBRkQ7RUZ5REUsaUJBRG9ELEVFdERyRDs7QUFGRDtFRnlERSxXQURvRCxFRXREckQ7O0FBRkQ7RUZ5REUsV0FEb0QsRUV0RHJEOztBQUZEO0VGeURFLGlCQURvRCxFRXREckQ7O0FBRkQ7RUZ5REUsaUJBRG9ELEVFdERyRDs7QUFGRDtFRnlERSxhQURvRCxFRXREckQ7O0FiZ0lHO0VhbElKO0lGeURFLFlBRG9ELEVFdERyRDtFQUZEO0lGeURFLFdBRG9ELEVFdERyRDtFQUZEO0lGeURFLGlCQURvRCxFRXREckQ7RUFGRDtJRnlERSxXQURvRCxFRXREckQ7RUFGRDtJRnlERSxXQURvRCxFRXREckQ7RUFGRDtJRnlERSxpQkFEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsaUJBRG9ELEVFdERyRDtFQUZEO0lGeURFLGFBRG9ELEVFdERyRCxFQUFBOztBYmdJRztFYWxJSjtJRnlERSxZQURvRCxFRXREckQ7RUFGRDtJRnlERSxXQURvRCxFRXREckQ7RUFGRDtJRnlERSxpQkFEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsV0FEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsV0FEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsaUJBRG9ELEVFdERyRDtFQUZEO0lGeURFLGlCQURvRCxFRXREckQ7RUFGRDtJRnlERSxhQURvRCxFRXREckQsRUFBQTs7QUFGRDtFRnlERSw2QkFEZ0gsRUV0RGpIOztBQUZEO0VGeURFLDRCQURnSCxFRXREakg7O0FBRkQ7RUZ5REUsa0NBRGdILEVFdERqSDs7QUFGRDtFRnlERSw0QkFEZ0gsRUV0RGpIOztBQUZEO0VGeURFLDRCQURnSCxFRXREakg7O0FBRkQ7RUZ5REUsa0NBRGdILEVFdERqSDs7QUFGRDtFRnlERSxrQ0FEZ0gsRUV0RGpIOztBQUZEO0VGeURFLDhCQURnSCxFRXREakg7O0FiZ0lHO0VhbElKO0lGeURFLDZCQURnSCxFRXREakg7RUFGRDtJRnlERSw0QkFEZ0gsRUV0RGpIO0VBRkQ7SUZ5REUsa0NBRGdILEVFdERq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QixlQUEwQixFQUU3QjtJQU1DO01IbURKLGdCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosV0FEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixXQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFdBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosWUFEb0QsRUdoRC9DO0lBRkQ7TUhtREosZ0JBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixXQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFdBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosV0FEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixZQURvRCxFR2hEL0M7SUFGRDtNSG1ESixnQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFdBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosV0FEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixXQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFlBRG9ELEVHaEQvQztFTnNMSDtJTS9LQSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5pTHpCO0lNOUtIO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTnNMQztFT2hORixnQkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLGtDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsc0JBQTZCLEVQa04xQjs7QUFFRDtFT3BORix3Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QUFORDtFT2hORixpQkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLG1DQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QUFORDtFT2hORixpQkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLG1DQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QUFORDtFT2hORixpQkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLG1DQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QVJoRkQ7RVEwRUE7SU9oTkYsZ0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGtDQUE2QixFUHNOMUI7RUFORDtJT2hORixzQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsd0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCLEVBQUE7O0FSaEZEO0VRMEVBO0lPaE5GLGdCQUE2QixFUGtOMUI7RUFFRDtJT3BORixrQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsc0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHdDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtO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SjtNSTNGTSx1QkFBNEI7TUFBNUIsMEJBQTRCLEVKMEhqQyxFQUFBO0VBL0JEO0lHaERFLDhCQUQ0RTtJQ2pDMUUsc0JBQTRCO0lBQTVCLHlCQUE0QixFSndGN0I7RVI4QkM7SVFwQ0o7TUdoREUsOEJBRDRFO01DakMxRSxzQkFBNEI7TUFBNUIseUJBQTRCLEVKK0Z6QixFQUFBO0VBckNQO0lHckJFLGFBQW1CLEVIdUJwQjtFQUVEO0lHckJFLGFBQW1CLEVIdUJwQjtFQU1DO0lHekJBLGtDQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNkJBRGdILEVINEIvRztFQUZEO0lHekJBLG1DQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNkJBRGdILEVINEIvRztFQUZEO0lHekJBLG1DQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsNkJBRGdILEVINEIvRztFQUZEO0lHekJBLG1DQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsOEJBRGdILEVINEIvRztFUjhDQztJUTVESjtNR3JCRSxhQUFtQixFSHVCcEI7SUFFRDtNR3JCRSxhQUFtQixFSHVCcEI7SUFNQztNR3pCQSxrQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLDZCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxtQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLDZCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxtQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLDZCQURnSCxFSDRCL0c7SUFGRDtNR3pCQSxtQ0FEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLDhCQURnSCxFSDRCL0c7SUFkSDtNR3JCRSxhQUFtQixFSHVCcEI7SUFFRDtNR3JCRSxhQUFt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RUFFRSxrQlg3TXFCO0VXOE1yQixxQkFBb0IsRUFDckI7O0FmZ0RDO0VlNUNBLGVYaEppQjtFV2lKakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSwrSlhwT2dLO0VXcU9oSyxtQlhwTHNCO0VXcUx0QixvQlhqT3lCO0VXa096QixlWHBMa0I7RVdxTGxCLG1DWGhLc0MsRVdzS3ZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVhsUGUsRVdtUGhCOztBZjNORDtFZXVPUSxrQlB2UDZDO0VPbVE3QyxpQlhqTlc7RVd5TlgsY0FBYTtFQU9iLHNCWC9OaUIsRVdpT3BCOztBQWpDRDtFQUlJLG1CUHZQNkM7RU9tUTdDLGlCWGpOVztFV3lOWCxjQUFhO0VBT2Isc0JYL05pQixFV2lPcEI7O0FBakNEO0VBSUkscUJQdlA2QztFT21RN0MsaUJYak5XO0VXeU5YLGNBQWE7RUFPYixzQlgvTmlCLEVXaU9wQjs7QUFqQ0Q7RUFJSSxvQlB2UDZDO0VPbVE3QyxpQlhqTlc7RVd5TlgsY0FBYTtFQU9iLHNCWC9OaUIsRVdpT3BCOztBQWpDRDtFQUlJLHFCUHZQNkM7RU9tUTdDLGlCWGpOVztFV3lOWCxjQUFhO0VBT2Isc0JYL05pQixFV2lPcEI7O0FBakNEO0VBSUksZ0JQdlA2QztFT21RN0MsaUJYak5XO0VXeU5YLGNBQWE7RUFPYixzQlgvTmlCLEVXaU9wQjs7QWpCN01IO0VFdkRGO0lldU9RLGdCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksa0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxxQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLHFCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksbUJQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxnQlB2UDZDLEVPb1JoRCxFQUFBOztBZm5HTDtFZTBHQSxxQkFBb0I7RUFDcEIsZVgzU2M7RVc0U2Qsc0JYek15QjtFVzJNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWGhOMkQsRVdvTjVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBZnZLRDtFZTRLQSxZQUFXO0VBRVgsaUJQbFRxRDtFT21UckQsVUFBUztFQUNULHFCWDVOeUI7RVc4TnpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDWGhVaUI7RVdpVWpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JYdFAwQjtFV3VQMUIsNkJYck95QjtFV3NPekIsaUJYelBzQixFVzBQdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlgvT3NCO0VXZ1B0QixzQlhsUGtCLEVXbVBuQjs7QUFHRDtFQUNFLHFCWHJQc0IsRVdzUHZCOztBQUdEO0VBRUkscUJYMVAyQjtFVzJQM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JYaFF5QixFV3NRMUI7RUFQRDtJQUlJLHNCWGpROEI7SVdrUTlCLGtCWC9WbUIsRVdnV3BCOztBQUlIO0VBQ0UsaUJYL1IwQjtFV2dTMUIsdUNQMVdxRDtFTzJXckQsK0JYblhpQixFV3lYbEI7RUFURDtJQU1JLGlCWHJTb0I7SVdzU3BCLGVYdFhhLEVXdVhkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCUHRYcUQ7RU91WHJELGVYOVhlLEVXbVloQjtFQVJEO0lBTUksY1huUjZCLEVBQUE7O0FXd1JqQztFQUNFLGtDWHRZVztFV3VZWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBZjdRQztFZWlSQSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSxzQ1A1WXFEO0VPOFlyRCwwQlh0WmlCO0VXdVpqQiwwQlh4WmdCO0VXMFpoQiw2RFhqV21FO0VXa1duRSxvQlgvWXlCO0VXZ1p6QixlWHpaVyxFVzBaWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCw0QlBwWlM7RU9zWlQsMEJYcGFnQjtFV3NhaEIsNkRYN1dtRTtFVzhXbkUsZVhwYVcsRVd5YVo7O0FDNWNEO0VBQ0UsbUJaK0p5QjtFWTlKekIsc0JaK0o0QjtFWTdKNUIsb0Jad0N5QjtFWXZDekIsaUJad0pzQjtFWXZKdEIsZVo0QmUsRVkzQmhCOztBQUdEO0VBQ0UsZ0JaZ0pxQztFWS9JckMsaUJaZ0ppQixFWS9JbEI7O0FBR0Q7RUFDRSxrQlppSm1CO0VZaEpuQixl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QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBL0RpREQ7RStEbkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBL0RpREQ7RStEbkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRr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VUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsaUNBRnlCO01BRXpCLDZCQUZ5QjtVQUV6Qix5QkFGeUI7RUN2QnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21D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OztBQU1QO0VySDNIRSxpQkMwRXVEO0VEekV2RCxlQUFjO0VBc0NkLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBSHFCO01BR3JCLHdCQUhxQjtVQUdyQixvQkFIcUIsRXFIK0Z0QjtFQVREO0luSG5ESSw2QkFEZ0g7SUM1QzlHLHdCQUE0QjtJQUE1Qix1QkFBNEI7SWtIdUc5Qix1QkFBc0IsRUFDdkI7O0FBSUg7RXJIdklFLGlCQzBFdUQ7RUR6RXZELGVBQWM7RUFzQ2Qsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFIcUI7TUFHckIsd0JBSHFCO1VBR3JCLG9CQUhxQjtFcUhxR3JCLG1CQUFrQixFQWdEbkI7RUFuREQ7SW5IL0RJLDZCQURnSDtJQzVDOUcsd0JBQTRCO0lBQTVCLHVCQUE0QixFa0g2SC9CO0lBakJIO01BU00saUJBQWdCLEVBQ2pCO0lBVkw7TUFhTSxvQkFBbUI7TUFDbkIsaUJBQWdCO01BQ2hCLFlBQVcsRUFDWjtFQWhCTDs7OztJbkgvREksNkJBRGdIO0lDNUM5Ryx3QkFBNEI7SUFBNUIsdUJBQTRCLEVrSHlKL0I7STlIbkNHO004SFZOOzs7O1FuSC9ESSw0QkFEZ0g7UUM1QzlHLHdCQUE0QjtRQUE1Qix1QkFBNEIsRWtIeUovQixFQUFBO0lBN0NIOzs7O01BZ0NNLGlCQUFnQjtNQUNoQix5QkFBd0IsRUFDekI7SUFsQ0w7Ozs7TUFxQ00sZUFBYztNQUNkLGlCQUFnQjtNQUNoQixtQkFBa0IsRUFDbkI7SUF4Q0w7Ozs7TUEyQ00scUJBQW9CLEVBQ3JCO0VBNUNMO0luSC9ESSw2QkFEZ0g7SUM1QzlHLHdCQUE0QjtJQUE1Qix1QkFBNEI7SWtINko5QixpQkFBZ0IsRUFDakIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MC4wNjI1ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gc21hbGwtZnVsbCwgLmdyaWQteCA+IHNtYWxsLTEsIC5ncmlkLXggPiBzbWFsbC0yLCAuZ3JpZC14ID4gc21hbGwtMywgLmdyaWQteCA+IHNtYWxsLTQsIC5ncmlkLXggPiBzbWFsbC01LCAuZ3JpZC14ID4gc21hbGwtNiwgLmdyaWQteCA+IHNtYWxsLTcsIC5ncmlkLXggPiBzbWFsbC04LCAuZ3JpZC14ID4gc21hbGwtOSwgLmdyaWQteCA+IHNtYWxsLTEwLCAuZ3JpZC14ID4gc21hbGwtMTEsIC5ncmlkLXggPiBzbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuZ3JpZC14ID4gbWVkaXVtLXNocmluaywgLmdyaWQteCA+IG1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gbWVkaXVtLTEsIC5ncmlkLXggPiBtZWRpdW0tMiwgLmdyaWQteCA+IG1lZGl1bS0zLCAuZ3JpZC14ID4gbWVkaXVtLTQsIC5ncmlkLXggPiBtZWRpdW0tNSwgLmdyaWQteCA+IG1lZGl1bS02LCAuZ3JpZC14ID4gbWVkaXVtLTcsIC5ncmlkLXggPiBtZWRpdW0tOCwgLmdyaWQteCA+IG1lZGl1bS05LCAuZ3JpZC14ID4gbWVkaXVtLTEwLCAuZ3JpZC14ID4gbWVkaXVtLTExLCAuZ3JpZC14ID4gbWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IGxhcmdlLXNocmluaywgLmdyaWQteCA+IGxhcmdlLWZ1bGwsIC5ncmlkLXggPiBsYXJnZS0xLCAuZ3JpZC14ID4gbGFyZ2UtMiwgLmdyaWQteCA+IGxhcmdlLTMsIC5ncmlkLXggPiBsYXJnZS00LCAuZ3JpZC14ID4gbGFyZ2UtNSwgLmdyaWQteCA+IGxhcmdlLTYsIC5ncmlkLXggPiBsYXJnZS03LCAuZ3JpZC14ID4gbGFyZ2UtOCwgLmdyaWQteCA+IGxhcmdlLTksIC5ncmlkLXggPiBsYXJnZS0xMCwgLmdyaWQteCA+IGxhcmdlLTExLCAuZ3JpZC14ID4gbGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IHNtYWxsLXNocmluaywgLmdyaWQteSA+IHNtYWxsLWZ1bGwsIC5ncmlkLXkgPiBzbWFsbC0xLCAuZ3JpZC15ID4gc21hbGwtMiwgLmdyaWQteSA+IHNtYWxsLTMsIC5ncmlkLXkgPiBzbWFsbC00LCAuZ3JpZC15ID4gc21hbGwtNSwgLmdyaWQteSA+IHNtYWxsLTYsIC5ncmlkLXkgPiBzbWFsbC03LCAuZ3JpZC15ID4gc21hbGwtOCwgLmdyaWQteSA+IHNtYWxsLTksIC5ncmlkLXkgPiBzbWFsbC0xMCwgLmdyaWQteSA+IHNtYWxsLTExLCAuZ3JpZC15ID4gc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5ncmlkLXkgPiBtZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gbWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiBtZWRpdW0tMSwgLmdyaWQteSA+IG1lZGl1bS0yLCAuZ3JpZC15ID4gbWVkaXVtLTMsIC5ncmlkLXkgPiBtZWRpdW0tNCwgLmdyaWQteSA+IG1lZGl1bS01LCAuZ3JpZC15ID4gbWVkaXVtLTYsIC5ncmlkLXkgPiBtZWRpdW0tNywgLmdyaWQteSA+IG1lZGl1bS04LCAuZ3JpZC15ID4gbWVkaXVtLTksIC5ncmlkLXkgPiBtZWRpdW0tMTAsIC5ncmlkLXkgPiBtZWRpdW0tMTEsIC5ncmlkLXkgPiBtZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IGxhcmdlLXNocmluaywgLmdyaWQteSA+IGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiBsYXJnZS0xLCAuZ3JpZC15ID4gbGFyZ2UtMiwgLmdyaWQteSA+IGxhcmdlLTMsIC5ncmlkLXkgPiBsYXJnZS00LCAuZ3JpZC15ID4gbGFyZ2UtNSwgLmdyaWQteSA+IGxhcmdlLTYsIC5ncmlkLXkgPiBsYXJnZS03LCAuZ3JpZC15ID4gbGFyZ2UtOCwgLmdyaWQteSA+IGxhcmdlLTksIC5ncmlkLXkgPiBsYXJnZS0xMCwgLmdyaWQteSA+IGxhcmdlLTExLCAuZ3JpZC15ID4gbGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMxNzc5YmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTQ2OGEwOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMTc3OWJhOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogIzM2NDU0ZjtcbiAgY29sb3I6ICNlNmU2ZTY7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMyQzM4NDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDI4MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjgwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yODBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI4MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyODBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjgwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyODBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI4MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyODBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjgwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjgwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyODBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjgwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjgwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI4MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyODBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTY3M2IxOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMTQ2OGEwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgMTIxLCAxODYsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzJDMzg0MDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMHJlbTtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJDMzg0MDsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMge1xuICAgICAgdG9wOiAycmVtOyB9IH1cblxuLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDsgfVxuXG5wLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLyoqKiogVEFCTEUgT0YgQ09OVEVOVFMgKioqKlxuXG4wMC4gVkFSSUFCTEVTXG4wLiBBQ0NFU1NJQklMVFkgVE9PTEJBUiBTVFlMRVNcbjEuIFBSRUxPQURFUiBTVFlMRVNcbjIuIEdFTkVSQUwgU1RZTEVTXG4zLiBIRUFERVIgU1RZTEVTXG4gIDNhLiBIZWFkZXIgT3B0aW9uIE9uZSBTdHlsZXNcbiAgM2IuIEhlYWRlciBPcHRpb24gVHdvIFN0eWxlc1xuICAzYy4gSGVhZGVyIE9wdGlvbiBUaHJlZSBTdHlsZXNcbiAgM2QuIEhlYWRlciBPcHRpb24gRm91ciBTdHlsZXNcbiAgM2UuIE1vYmlsZSBPZmYtQ2FudmFzIE1lbnUgU3R5bGVzXG4gIDNmLiBNb2JpbGUgVG9wIEJhciBNZW51IFN0eWxlc1xuICAzZy4gU3RpY2t5IEhlYWRlciBTdHlsZXNcbiAgM2guIEhlYWRlciBPdmVycmlkZXNcblxuNC4gSE9NRSBQQUdFIFNUWUxFU1xuXG41LiBJTlRFUk5BTCBQQUdFIFNUWUxFU1xuICA1YS4gQnJlYWRjcnVtYnMgU3R5bGVzXG4gIDViLiBQYWdlIFRpdGxlIGFuZCBUaXRsZSBCYXIgU3R5bGVzXG4gIDVjLiBEZWZhdWx0IFBhZ2UgVGVtcGxhdGUgU3R5bGVzXG4gIDVkLiBGdWxsIFdpZHRoIFBhZ2UgVGVtcGxhdGUgU3R5bGVzXG4gIDVlLiBQb3N0IE5hdmlnYXRpb24gRm9vdGVyIFN0eWxlc1xuICA1Zi4gTGVmdCBTaWRlYmFyIFBhZ2UgVGVtcGxhdGUgU3R5bGVzXG4gIDVnLiBTaWRlYmFyIFN0eWxlc1xuICA1aC4gU29jaWFsIFNoYXJpbmcgU2hvcnRjb2RlIFN0eWxlc1xuICA1aS4gR2FsbGVyeSBTaG9ydGNvZGUgU3R5bGVzXG4gIDVqLiBQYWdpbmF0aW9uIFN0eWxlc1xuICA1ay4gR3Jhdml0eSBGb3JtIFN0eWxlc1xuXG42LiBCTE9HIFBBR0UgQU5EIFNJTkdMRSBCTE9HIFBPU1QgU1RZTEVTXG4gIDZhLiBCbG9nIExvb3AgU2hvcnRjb2RlIFN0eWxlc1xuICA2Yi4gQ29tbWVudHMgU2VjdGlvbiBTdHlsZXNcbiAgNmMuIEFKQVggQmxvZyBMb29wIFNob3J0Y29kZSBTdHlsZXNcblxuNy4gUE9SVEZPTElPIFNUWUxFU1xuXG44LiBTRVJWSUNFUyBTVFlMRVNcblxuOS4gU1RBRkYgU1RZTEVTXG5cbjEwLiA0MDQgUEFHRSBTVFlMRVNcblxuMTEuIEZPT1RFUiBTVFlMRVNcblxuKiogRU5EIFRBQkxFIE9GIENPTlRFTlRTICoqL1xuLyoqKiogMDAuIFZBUklBQkxFUyAqKioqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImdsb3NzLWJsb29tXCI7XG4gIHNyYzogdXJsKFwiL3RheWxvcnMvd3AtY29udGVudC90aGVtZXMvYWxsb25zeTIvc3JjL2Fzc2V0cy9mb250cy9HbG9zc19BbmRfQmxvb20udHRmXCIpOyB9XG5cbi8qKioqIDAuIEFDQ0VTU0lCSUxUWSBUT09MQkFSIFNUWUxFUyAqKioqL1xuLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTYyNC45Mzc1cmVtOyB9XG4gIC5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0OmZvY3VzIHtcbiAgICBsZWZ0OiA2cHg7XG4gICAgdG9wOiA3cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwMDczYWE7XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICNmZWYzYTE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1heC13aWR0aDogMTMuNzVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNjI1cmVtO1xuICB3aWR0aDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZWYzYTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAudG9vbHRpcC5yaWdodDphZnRlciB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyYzJiNzkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cblxuZGl2I2ExMXktdG9vbGJhciB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICM1YzViNWI7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTAwMjsgfVxuICBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbiwgZGl2I2ExMXktdG9vbGJhciBkaXYjYTExeS1jb250cmFzdCBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC4zNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uOmhvdmVyLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbjpmb2N1cywgZGl2I2ExMXktdG9vbGJhciBkaXYjYTExeS1jb250cmFzdCBidXR0b246aG92ZXIsIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbi5hMTF5LWZvbnRzaXplLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbi5hMTF5LWZvbnRzaXplIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwIDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgIzVjNWI1YjsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uLmExMXktY29udHJhc3QsIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uLmExMXktY29udHJhc3Qge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjVyZW0gMDsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uLmExMXktYWN0aXZlLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbi5hMTF5LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNWM1YjViO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uLmExMXktYWN0aXZlLmExMXktZm9udHNpemUsIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uLmExMXktYWN0aXZlLmExMXktZm9udHNpemUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2YyZjJmMiAhaW1wb3J0YW50OyB9XG4gICAgZGl2I2ExMXktdG9vbGJhciBkaXYjYTExeS1mb250c2l6ZSBidXR0b24gc3BhbltkYXRhLXRvb2x0aXBdLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbiBzcGFuW2RhdGEtdG9vbHRpcF0ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgZGl2I2ExMXktdG9vbGJhci5hMTF5LWxlZnQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICBkaXYjYTExeS10b29sYmFyLmExMXktbGVmdCB7XG4gICAgICAgIGJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICBkaXYjYTExeS10b29sYmFyLmExMXktbGVmdC5iYWNrdG9wLWxlZnQge1xuICAgICAgICAgIGJvdHRvbTogNC42ODc1cmVtOyB9IH1cbiAgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtIDAgMCAwLjI1cmVtO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICByaWdodDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IHtcbiAgICAgICAgYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgIGRpdiNhMTF5LXRvb2xiYXIuYTExeS1yaWdodC5iYWNrdG9wLXJpZ2h0IHtcbiAgICAgICAgICBib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gICAgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbi5hMTF5LWZvbnRzaXplLCBkaXYjYTExeS10b29sYmFyLmExMXktcmlnaHQgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uLmExMXktZm9udHNpemUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwIDAgMDsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIuYTExeS1yaWdodCBkaXYjYTExeS1mb250c2l6ZSBidXR0b24uYTExeS1jb250cmFzdCwgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbi5hMTF5LWNvbnRyYXN0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyoqKiogVE9HR0xFIEZPTlRTSVpFIFNUWUxFUyAqKioqL1xuaHRtbC5hMTF5LWZvbnRzaXplIC5icy1idG4sIGh0bWwuYTExeS1mb250c2l6ZSAuYnV0dG9uLFxuaHRtbC5hMTF5LWZvbnRzaXplIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgYSxcbmh0bWwuYTExeS1mb250c2l6ZSAudG9wLWJhci1zb2NpYWwgdWwgbGkuY3VzdG9tLWJ1dHRvbiBhLFxuaHRtbC5hMTF5LWZvbnRzaXplIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSxcbmh0bWwuYTExeS1mb250c2l6ZSBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGEge1xuICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG5odG1sLmExMXktZm9udHNpemUgcCwgaHRtbC5hMTF5LWZvbnRzaXplIGEsIGh0bWwuYTExeS1mb250c2l6ZSBsaSwgaHRtbC5hMTF5LWZvbnRzaXplIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSB0aW1lLCBodG1sLmExMXktZm9udHNpemUgc3Ryb25nLCBodG1sLmExMXktZm9udHNpemUgZW0sIGh0bWwuYTExeS1mb250c2l6ZSBjb2RlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBoMiwgaHRtbC5hMTF5LWZvbnRzaXplIGgyIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSBoMiBhIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBoMywgaHRtbC5hMTF5LWZvbnRzaXplIGgzIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSBoMyBhLFxuaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBodG1sLmExMXktZm9udHNpemUgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICBmb250LXNpemU6IDEuODc1cmVtICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWZvbnRzaXplIGg0LCBodG1sLmExMXktZm9udHNpemUgaDQgc3BhbiwgaHRtbC5hMTF5LWZvbnRzaXplIGg0IGEsXG5odG1sLmExMXktZm9udHNpemUgaDUsIGh0bWwuYTExeS1mb250c2l6ZSBoNSBzcGFuLCBodG1sLmExMXktZm9udHNpemUgaDUgYSxcbmh0bWwuYTExeS1mb250c2l6ZSBoNiwgaHRtbC5hMTF5LWZvbnRzaXplIGg2IHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSBoNiBhIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBuYXYub2ZmLWNhbnZhcyAubWVudSA+IGxpID4gYSxcbmh0bWwuYTExeS1mb250c2l6ZSBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaSA+IGEge1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNXJlbTsgfVxuXG5odG1sLmExMXktZm9udHNpemUgaGVhZGVyI21hc3RoZWFkIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbiBzcGFuIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAuYnJlYWRjcnVtYnMtd3JhcHBlciAjYnJlYWRjcnVtYnMgbGksXG5odG1sLmExMXktZm9udHNpemUgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIGxpIGEsXG5odG1sLmExMXktZm9udHNpemUgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiwgaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbmh0bWwuYTExeS1mb250c2l6ZSBib2R5Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBodG1sLmExMXktZm9udHNpemUgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBodG1sLmExMXktZm9udHNpemUgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLFxuaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhLCBodG1sLmExMXktZm9udHNpemUgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAuZW50cnktY29udGVudCBmaWd1cmUud3AtY2FwdGlvbiBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5odG1sLmExMXktZm9udHNpemUgbGFiZWwsXG5odG1sLmExMXktZm9udHNpemUgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggaW5wdXQgKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5odG1sLmExMXktZm9udHNpemUgaDEuZW50cnktdGl0bGUge1xuICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBhc2lkZS5zaWRlYmFyIC53aWRnZXQgaDYge1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBhc2lkZS5zaWRlYmFyIC53aWRnZXQgbGksIGh0bWwuYTExeS1mb250c2l6ZSBhc2lkZS5zaWRlYmFyIC53aWRnZXQgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5odG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDQge1xuICBmb250LXNpemU6IDEuNzVyZW0gIWltcG9ydGFudDsgfVxuXG5odG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgcCwgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIGEsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciBsaSwgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciB0aW1lLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgc3Ryb25nLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgZW0ge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGg2IHtcbiAgZm9udC1zaXplOiAxLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHAsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBhLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgbGksIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzcGFuLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgdGltZSwgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHN0cm9uZywgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGVtIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IHAsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IGEsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IGxpLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodCBzcGFuLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodCB0aW1lLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodCBzdHJvbmcsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IGVtIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBhLCBodG1sLmExMXktY29udHJhc3QgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGFydGljbGUsIGh0bWwuYTExeS1jb250cmFzdCBhc2lkZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGJhc2Vmb250LCBodG1sLmExMXktY29udHJhc3QgYmRpLCBodG1sLmExMXktY29udHJhc3QgYmlnLCBodG1sLmExMXktY29udHJhc3QgYmxpbmssIGh0bWwuYTExeS1jb250cmFzdCBibG9ja3F1b3RlLCBodG1sLmExMXktY29udHJhc3QgYm9keSwgaHRtbC5hMTF5LWNvbnRyYXN0IGJ1dHRvbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGNhbnZhcywgaHRtbC5hMTF5LWNvbnRyYXN0IGNhcHRpb24sIGh0bWwuYTExeS1jb250cmFzdCBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBjb2RlLCBodG1sLmExMXktY29udHJhc3QgY29sLCBodG1sLmExMXktY29udHJhc3QgY29sZ3JvdXAsIGh0bWwuYTExeS1jb250cmFzdCBjb21tYW5kLCBodG1sLmExMXktY29udHJhc3QgZGQsIGh0bWwuYTExeS1jb250cmFzdCBkZXRhaWxzLCBodG1sLmExMXktY29udHJhc3QgZGlyLCBodG1sLmExMXktY29udHJhc3QgZGl2LCBodG1sLmExMXktY29udHJhc3QgZGwsIGh0bWwuYTExeS1jb250cmFzdCBkdCwgaHRtbC5hMTF5LWNvbnRyYXN0IGVtYmVkLCBodG1sLmExMXktY29udHJhc3QgZmllbGRzZXQsIGh0bWwuYTExeS1jb250cmFzdCBmaWdjYXB0aW9uLCBodG1sLmExMXktY29udHJhc3QgZmlndXJlLCBodG1sLmExMXktY29udHJhc3QgZm9udCwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvb3RlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvcm0sIGh0bWwuYTExeS1jb250cmFzdCBoZWFkZXIsIGh0bWwuYTExeS1jb250cmFzdCBoZ3JvdXAsIGh0bWwuYTExeS1jb250cmFzdCBodG1sLCBodG1sLmExMXktY29udHJhc3QgaWZyYW1lLCBodG1sLmExMXktY29udHJhc3QgaW1nLCBodG1sLmExMXktY29udHJhc3QgaW5wdXQsIGh0bWwuYTExeS1jb250cmFzdCBrYmQsIGh0bWwuYTExeS1jb250cmFzdCBsYWJlbCwgaHRtbC5hMTF5LWNvbnRyYXN0IGxlZ2VuZCwgaHRtbC5hMTF5LWNvbnRyYXN0IGxpLCBodG1sLmExMXktY29udHJhc3QgbGlzdGluZywgaHRtbC5hMTF5LWNvbnRyYXN0IG1hcmssIGh0bWwuYTExeS1jb250cmFzdCBtYXJxdWVlLCBodG1sLmExMXktY29udHJhc3QgbWVudSwgaHRtbC5hMTF5LWNvbnRyYXN0IG1ldGVyLCBodG1sLmExMXktY29udHJhc3QgbXVsdGljb2wsIGh0bWwuYTExeS1jb250cmFzdCBuYXYsIGh0bWwuYTExeS1jb250cmFzdCBub2JyLCBodG1sLmExMXktY29udHJhc3Qgb2JqZWN0LCBodG1sLmExMXktY29udHJhc3Qgb2wsIGh0bWwuYTExeS1jb250cmFzdCBvcHRpb24sIGh0bWwuYTExeS1jb250cmFzdCBwLCBodG1sLmExMXktY29udHJhc3QgcGxhaW50ZXh0LCBodG1sLmExMXktY29udHJhc3QgcHJlLCBodG1sLmExMXktY29udHJhc3QgcHJvZ3Jlc3MsIGh0bWwuYTExeS1jb250cmFzdCBxLCBodG1sLmExMXktY29udHJhc3QgcywgaHRtbC5hMTF5LWNvbnRyYXN0IHNlY3Rpb24sIGh0bWwuYTExeS1jb250cmFzdCBzZWxlY3QsIGh0bWwuYTExeS1jb250cmFzdCBzbWFsbCwgaHRtbC5hMTF5LWNvbnRyYXN0IHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCBzdHJpa2UsIGh0bWwuYTExeS1jb250cmFzdCBzdWIsIGh0bWwuYTExeS1jb250cmFzdCBzdW1tYXJ5LCBodG1sLmExMXktY29udHJhc3Qgc3VwLCBodG1sLmExMXktY29udHJhc3QgdGFibGUsIGh0bWwuYTExeS1jb250cmFzdCB0ZCwgaHRtbC5hMTF5LWNvbnRyYXN0IHRleHRhcmVhLCBodG1sLmExMXktY29udHJhc3QgdGgsIGh0bWwuYTExeS1jb250cmFzdCB0aW1lLCBodG1sLmExMXktY29udHJhc3QgdHIsIGh0bWwuYTExeS1jb250cmFzdCB0dCwgaHRtbC5hMTF5LWNvbnRyYXN0IHVsLCBodG1sLmExMXktY29udHJhc3QgdmFyLCBodG1sLmExMXktY29udHJhc3QgeG1wLCBodG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIHNwYW4ucHJpY2Ugc3Bhbi5hbW91bnQsIGh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBodG1sLmExMXktY29udHJhc3QgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgc3Bhbi5wcmljZSBzcGFuLmFtb3VudCwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoMiwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoMiBzcGFuLCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGgzLCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGgzIHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCAjbWFpbi1jb250YWluZXIgaDQsIGh0bWwuYTExeS1jb250cmFzdCAjbWFpbi1jb250YWluZXIgaDQgc3BhbiwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoNSwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoNSBzcGFuLCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGg2LCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGg2IHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDEsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDIsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDMsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDQsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDUsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDYsIGh0bWwuYTExeS1jb250cmFzdCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGgxLCBodG1sLmExMXktY29udHJhc3QgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoMiwgaHRtbC5hMTF5LWNvbnRyYXN0IC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgaDMsIGh0bWwuYTExeS1jb250cmFzdCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGg0LCBodG1sLmExMXktY29udHJhc3QgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoNSwgaHRtbC5hMTF5LWNvbnRyYXN0IC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgaDYsIGh0bWwuYTExeS1jb250cmFzdCBzcGFuLnJlcXVpcmVkLCBodG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZSBzcGFuLnJlcXVpcmVkLCBodG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ucmVxdWlyZWQsIGh0bWwuYTExeS1jb250cmFzdCBkaXYud29vY29tbWVyY2Ugc3Bhbi5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjRjNGM0YzICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWNvbnRyYXN0IGEge1xuICBjb2xvcjogeWVsbG93ICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBhLCBodG1sLmExMXktY29udHJhc3QgLnByZS1mb290ZXItY29udGFpbmVyIGEsIGh0bWwuYTExeS1jb250cmFzdCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGEsIGh0bWwuYTExeS1jb250cmFzdCAjY29weXJpZ2h0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBhLCBodG1sLmExMXktY29udHJhc3QgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGFjcm9ueW0sIGh0bWwuYTExeS1jb250cmFzdCBhZGRyZXNzLCBodG1sLmExMXktY29udHJhc3QgYXJ0aWNsZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGFzaWRlLCBodG1sLmExMXktY29udHJhc3QgYiwgaHRtbC5hMTF5LWNvbnRyYXN0IGJhc2Vmb250LCBodG1sLmExMXktY29udHJhc3QgYmRpLCBodG1sLmExMXktY29udHJhc3QgYmlnLCBodG1sLmExMXktY29udHJhc3QgYmxpbmssIGh0bWwuYTExeS1jb250cmFzdCBibG9ja3F1b3RlLCBodG1sLmExMXktY29udHJhc3QgYm9keSwgaHRtbC5hMTF5LWNvbnRyYXN0IGNhbnZhcywgaHRtbC5hMTF5LWNvbnRyYXN0IGNhcHRpb24sIGh0bWwuYTExeS1jb250cmFzdCBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBjaXRlLCBodG1sLmExMXktY29udHJhc3QgY29kZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGNvbCwgaHRtbC5hMTF5LWNvbnRyYXN0IGNvbGdyb3VwLCBodG1sLmExMXktY29udHJhc3QgY29tbWFuZCwgaHRtbC5hMTF5LWNvbnRyYXN0IGRkLCBodG1sLmExMXktY29udHJhc3QgZGV0YWlscywgaHRtbC5hMTF5LWNvbnRyYXN0IGRmbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGRpciwgaHRtbC5hMTF5LWNvbnRyYXN0IGRpdiwgaHRtbC5hMTF5LWNvbnRyYXN0IGRsLCBodG1sLmExMXktY29udHJhc3QgZHQsIGh0bWwuYTExeS1jb250cmFzdCBlbSwgaHRtbC5hMTF5LWNvbnRyYXN0IGVtYmVkLCBodG1sLmExMXktY29udHJhc3QgZmllbGRzZXQsIGh0bWwuYTExeS1jb250cmFzdCBmaWdjYXB0aW9uLCBodG1sLmExMXktY29udHJhc3QgZmlndXJlLCBodG1sLmExMXktY29udHJhc3QgZm9udCwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvb3RlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvcm0sIGh0bWwuYTExeS1jb250cmFzdCBoMSwgaHRtbC5hMTF5LWNvbnRyYXN0IGgxIGEsIGh0bWwuYTExeS1jb250cmFzdCBoMSBhIGIsIGh0bWwuYTExeS1jb250cmFzdCBoMSBhYmJyLCBodG1sLmExMXktY29udHJhc3QgaDEgY2VudGVyLCBodG1sLmExMXktY29udHJhc3QgaDEgc3BhbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGgyLCBodG1sLmExMXktY29udHJhc3QgaDIgYSwgaHRtbC5hMTF5LWNvbnRyYXN0IGgyIGEgYiwgaHRtbC5hMTF5LWNvbnRyYXN0IGgyIGFiYnIsIGh0bWwuYTExeS1jb250cmFzdCBoMiBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBoMiBzcGFuLCBodG1sLmExMXktY29udHJhc3QgaDMsIGh0bWwuYTExeS1jb250cmFzdCBoMyBhLCBodG1sLmExMXktY29udHJhc3QgaDMgYSBiLCBodG1sLmExMXktY29udHJhc3QgaDMgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGgzIGNlbnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGgzIHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCBoNCwgaHRtbC5hMTF5LWNvbnRyYXN0IGg0IGEsIGh0bWwuYTExeS1jb250cmFzdCBoNCBhIGIsIGh0bWwuYTExeS1jb250cmFzdCBoNCBhYmJyLCBodG1sLmExMXktY29udHJhc3QgaDQgY2VudGVyLCBodG1sLmExMXktY29udHJhc3QgaDQgc3BhbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGg1LCBodG1sLmExMXktY29udHJhc3QgaDUgYSwgaHRtbC5hMTF5LWNvbnRyYXN0IGg1IGEgYiwgaHRtbC5hMTF5LWNvbnRyYXN0IGg1IGFiYnIsIGh0bWwuYTExeS1jb250cmFzdCBoNSBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBoNSBzcGFuLCBodG1sLmExMXktY29udHJhc3QgaDYsIGh0bWwuYTExeS1jb250cmFzdCBoNiBhLCBodG1sLmExMXktY29udHJhc3QgaDYgYSBiLCBodG1sLmExMXktY29udHJhc3QgaDYgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGg2IGNlbnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGg2IHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCBoZWFkZXIsIGh0bWwuYTExeS1jb250cmFzdCBoZ3JvdXAsIGh0bWwuYTExeS1jb250cmFzdCBodG1sLCBodG1sLmExMXktY29udHJhc3QgaSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlmcmFtZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0LCBodG1sLmExMXktY29udHJhc3Qga2JkLCBodG1sLmExMXktY29udHJhc3QgbGFiZWwsIGh0bWwuYTExeS1jb250cmFzdCBsZWdlbmQsIGh0bWwuYTExeS1jb250cmFzdCBsaSwgaHRtbC5hMTF5LWNvbnRyYXN0IGxpc3RpbmcsIGh0bWwuYTExeS1jb250cmFzdCBtYXJrLCBodG1sLmExMXktY29udHJhc3QgbWFycXVlZSwgaHRtbC5hMTF5LWNvbnRyYXN0IG1lbnUsIGh0bWwuYTExeS1jb250cmFzdCBtZXRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IG11bHRpY29sLCBodG1sLmExMXktY29udHJhc3QgbmF2LCBodG1sLmExMXktY29udHJhc3Qgbm9iciwgaHRtbC5hMTF5LWNvbnRyYXN0IG9iamVjdCwgaHRtbC5hMTF5LWNvbnRyYXN0IG9sLCBodG1sLmExMXktY29udHJhc3Qgb3B0aW9uLCBodG1sLmExMXktY29udHJhc3QgcCwgaHRtbC5hMTF5LWNvbnRyYXN0IHBsYWludGV4dCwgaHRtbC5hMTF5LWNvbnRyYXN0IHByZSwgaHRtbC5hMTF5LWNvbnRyYXN0IHByb2dyZXNzLCBodG1sLmExMXktY29udHJhc3QgcSwgaHRtbC5hMTF5LWNvbnRyYXN0IHMsIGh0bWwuYTExeS1jb250cmFzdCBzZWN0aW9uLCBodG1sLmExMXktY29udHJhc3Qgc21hbGwsIGh0bWwuYTExeS1jb250cmFzdCBzcGFuLCBodG1sLmExMXktY29udHJhc3Qgc3RyaWtlLCBodG1sLmExMXktY29udHJhc3Qgc3Ryb25nLCBodG1sLmExMXktY29udHJhc3Qgc3ViLCBodG1sLmExMXktY29udHJhc3Qgc3VtbWFyeSwgaHRtbC5hMTF5LWNvbnRyYXN0IHN1cCwgaHRtbC5hMTF5LWNvbnRyYXN0IHRhYmxlLCBodG1sLmExMXktY29udHJhc3QgdGQsIGh0bWwuYTExeS1jb250cmFzdCB0ZXh0YXJlYSwgaHRtbC5hMTF5LWNvbnRyYXN0IHRoLCBodG1sLmExMXktY29udHJhc3QgdGltZSwgaHRtbC5hMTF5LWNvbnRyYXN0IHRyLCBodG1sLmExMXktY29udHJhc3QgdHQsIGh0bWwuYTExeS1jb250cmFzdCB1LCBodG1sLmExMXktY29udHJhc3QgdWwsIGh0bWwuYTExeS1jb250cmFzdCB2YXIsIGh0bWwuYTExeS1jb250cmFzdCB4bXAsIGh0bWwuYTExeS1jb250cmFzdCAuYnMtYnRuLCBodG1sLmExMXktY29udHJhc3QgLmJ1dHRvbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGhlYWRlciNtYXN0aGVhZCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0YzRjNGMyAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGh0bWwuYTExeS1jb250cmFzdCB0ZXh0YXJlYSwgaHRtbC5hMTF5LWNvbnRyYXN0IHNlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuXG5odG1sLmExMXktY29udHJhc3QgaW1nIHtcbiAgYmFja2dyb3VuZDogIzgwODA4MCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwICFpbXBvcnRhbnQ7XG4gIG1peC1ibGVuZC1tb2RlOiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSxcbmh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlIHNwYW4ub25zYWxlOmJlZm9yZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGh0bWwuYTExeS1jb250cmFzdCBkaXYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDAwMDsgfVxuXG5odG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTphZnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDAwMDA7IH1cblxuLyoqKiogMS4gUFJFTE9BREVSIFNUWUxFUyAqKioqL1xuI3ByZWxvYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJhY2tncm91bmQ6ICNGRkY7IH1cbiAgI3ByZWxvYWRlciAucHJlbG9hZGVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAjcHJlbG9hZGVyIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTguNzVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgI3ByZWxvYWRlciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEyLjVyZW07IH0gfVxuICAjcHJlbG9hZGVyIC5sZXR0ZXItaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAjcHJlbG9hZGVyIC5sZXR0ZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJjMmI3OTsgfVxuICAjcHJlbG9hZGVyIC5hbmltYXRlLWxvYWRpbmcgLmxldHRlciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRpbmdGO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS42cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBsaW5lYXI7IH1cbiAgI3ByZWxvYWRlciAubC0xIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC40OHM7IH1cbiAgI3ByZWxvYWRlciAubC0yIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC42czsgfVxuICAjcHJlbG9hZGVyIC5sLTMge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjcyczsgfVxuICAjcHJlbG9hZGVyIC5sLTQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjg0czsgfVxuICAjcHJlbG9hZGVyIC5sLTUge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjk2czsgfVxuICAjcHJlbG9hZGVyIC5sLTYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMS4wOHM7IH1cbiAgI3ByZWxvYWRlciAubC03IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7IH1cbiAgI3ByZWxvYWRlciAubC04IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuMzJzOyB9XG4gICNwcmVsb2FkZXIgLmwtOSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjQ0czsgfVxuICAjcHJlbG9hZGVyIC5sLTEwIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuNTZzOyB9XG5cbkBrZXlmcmFtZXMgbG9hZGluZ0Yge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFkbWluLWJhciAjcHJlbG9hZGVyIGltZyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODJweCkge1xuICAgIC5hZG1pbi1iYXIgI3ByZWxvYWRlciBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogMjNweDsgfSB9XG5cbi8qKioqIDIuIEdFTkVSQUwgU1RZTEVTICoqKiovXG4qIHtcbiAgLXdlYmtpdC1oeXBoZW5zOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otaHlwaGVuczogbm9uZSAhaW1wb3J0YW50O1xuICBoeXBoZW5zOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjE4NzVyZW0gc29saWQgI2VjMjAyNztcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgcGFkZGluZzogMCAwIDAgMC45Mzc1cmVtOyB9XG4gIGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0LFxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZXJhbmNlOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYVtocmVmXj10ZWxdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlcmFuY2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5hLCBzcGFuOm5vdCguZmEpOm5vdCguZmFzKTpub3QoLmZhcik6bm90KC5mYWIpOm5vdCguZGFzaGljb25zKTpub3QoLnByaWNlKTpub3QoLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlcik6bm90KC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQpLCB0aW1lIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG5wLCBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1ycy1lYXZlc1wiLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgfVxuXG4ucGlwZS1zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgbWFyZ2luOiAwIDAuMzc1cmVtOyB9XG5cbmJ1dHRvbi5tZW51LWljb24ge1xuICBhbGlnbi1pdGVtczogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMyYzJiNzk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB3aWR0aDogMi4yNXJlbTsgfVxuICBidXR0b24ubWVudS1pY29uOmJlZm9yZSwgYnV0dG9uLm1lbnUtaWNvbjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGJ1dHRvbi5tZW51LWljb24gc3Bhbi5tZW51LWljb24tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICBidXR0b24ubWVudS1pY29uIHNwYW4ua2VlcC10b2dldGhlciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBidXR0b24ubWVudS1pY29uIHNwYW4ua2VlcC10b2dldGhlciBpIHtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC43O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDAuMDYyNXJlbTsgfVxuICBidXR0b24ubWVudS1pY29uLmFjdGl2ZSBzcGFuLm1lbnUtaWNvbi1iYXIge1xuICAgIGJhY2tncm91bmQ6ICNlYzIwMjc7IH1cbiAgYnV0dG9uLm1lbnUtaWNvbi5hY3RpdmUgc3Bhbi5tZW51LWljb24tYmFyLTEge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICBidXR0b24ubWVudS1pY29uLmFjdGl2ZSBzcGFuLm1lbnUtaWNvbi1iYXItMiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICBidXR0b24ubWVudS1pY29uLmFjdGl2ZSBzcGFuLm1lbnUtaWNvbi1iYXItMyB7XG4gICAgbWFyZ2luLXRvcDogLTAuODc1cmVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgYnV0dG9uLm1lbnUtaWNvbi5hY3RpdmUgc3Bhbi5rZWVwLXRvZ2V0aGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH1cbiAgYnV0dG9uLm1lbnUtaWNvbjpob3ZlciBzcGFuLm1lbnUtaWNvbi1iYXIsIGJ1dHRvbi5tZW51LWljb246Zm9jdXMgc3Bhbi5tZW51LWljb24tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgaDEuYWxpZ25jZW50ZXIsIGgyLmFsaWduY2VudGVyLCBoMy5hbGlnbmNlbnRlciwgaDQuYWxpZ25jZW50ZXIsIGg1LmFsaWduY2VudGVyLCBoNi5hbGlnbmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGgxLmFsaWdubGVmdCwgaDIuYWxpZ25sZWZ0LCBoMy5hbGlnbmxlZnQsIGg0LmFsaWdubGVmdCwgaDUuYWxpZ25sZWZ0LCBoNi5hbGlnbmxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgaDEuYWxpZ25yaWdodCwgaDIuYWxpZ25yaWdodCwgaDMuYWxpZ25yaWdodCwgaDQuYWxpZ25yaWdodCwgaDUuYWxpZ25yaWdodCwgaDYuYWxpZ25yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuaDIsIGgyIHNwYW4ge1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5oMywgaDMgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50OyB9XG5cbmg0LCBoNCBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5oNSwgaDUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbmg2LCBoNiBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gIC5hbGlnbnJpZ2h0LCAuYWxpZ25sZWZ0LCAuYWxpZ25jZW50ZXIsIC5hbGlnbm5vbmUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgZmlndXJlLmFsaWducmlnaHQgaW1nLCBmaWd1cmUuYWxpZ25sZWZ0IGltZywgZmlndXJlLmFsaWduY2VudGVyIGltZywgZmlndXJlLmFsaWdubm9uZSBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zZWN0aW9uLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJnbG9zcy1ibG9vbVwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMTAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMC42ODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnNlY3Rpb24taGVhZGluZyBzcGFuLnNlY3Rpb24taGVhZGluZy1pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMC42MjVyZW07XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMC4xMjVyZW0gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VjdGlvbi1oZWFkaW5nIHNwYW4uc2VjdGlvbi1oZWFkaW5nLWlubmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9zZWN0aW9uLWhlYWRpbmctdW5kZXJsaW5lLnN2Zykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZWN0aW9uLWhlYWRpbmcuYWxpZ25jZW50ZXIgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXI6YWZ0ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnNlY3Rpb24taGVhZGluZy5hbGlnbnJpZ2h0IHNwYW4uc2VjdGlvbi1oZWFkaW5nLWlubmVyOmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLnNlY3Rpb24taGVhZGluZy5zdHlsZTIgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wNC9zZWN0aW9uLWhlYWRpbmctdW5kZXJsaW5lLXYyLnN2Zykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgbWF4LXdpZHRoOiAxMC42MjVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuc3Bhbi5zdWItdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA2NSU7XG4gIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuXG4ucGwxNSB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnByMTUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQxNSB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYjE1IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZjYXJkIGFiYnIge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogdGV4dCAhaW1wb3J0YW50OyB9XG5cbi52Y2FyZCAudHlwZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCAjbWFzdGhlYWQge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBGb3VuZGF0aW9uIDYgVGFicyBTdHlsZXMgKi9cbi50YWJzIHtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC50YWJzIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgICAgYm90dG9tOiAtMC4wNjI1cmVtO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMC43NXJlbSAwLjkzNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjZjJmMmYyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTAuMTI1cmVtIDAuNDM3NXJlbSAjMDAxZTYxOyB9IH1cbiAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNmMmYyZjI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmU6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5OyB9IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5OyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgI2Zvb3Rlci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5oaWRlLWZvci1ub3cge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHNwZWFrOiBub25lO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG5cbi50aGUtdGFncyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMi41cmVtIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRoZS10YWdzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmtlZXAtdG9nZXRoZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG5ib2R5Lm1vZGFsLWFjdGl2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuZm9ybSNzZWFyY2hmb3JtIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCIsICdmb250YXdlc29tZSc7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIHRvcDogMC4zMTI1cmVtOyB9XG4gIGZvcm0jc2VhcmNoZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBmb3JtI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgIGJhY2tncm91bmQ6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBtaW4td2lkdGg6IDIuMjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpob3ZlciwgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0biwgLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b24sICNyZXNwb25kIC5idXR0b24sIC50cmliZS1ldmVudHMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNi4yNXJlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMS44NzVyZW0gIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cblxuLmJzLWJ0bi5icy1idG4td2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNGRkZGRkY7XG4gIGNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0bi5icy1idG4td2hpdGU6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi13aGl0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4uYnMtYnRuLmJzLWJ0bi1yZWQsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbixcbiNyZXNwb25kIC5idXR0b24sXG4udHJpYmUtZXZlbnRzLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNlYzIwMjcgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjZWMyMDI3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0bi5icy1idG4tcmVkOmhvdmVyLFxuLmJzLWJ0bi5icy1idG4tcmVkOmZvY3VzLFxuLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b246aG92ZXIsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbjpmb2N1cyxcbiNyZXNwb25kIC5idXR0b246aG92ZXIsXG4jcmVzcG9uZCAuYnV0dG9uOmZvY3VzLFxuLnRyaWJlLWV2ZW50cy1idXR0b246aG92ZXIsXG4udHJpYmUtZXZlbnRzLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0bi5icy1idG4tYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMmMyYjc5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0bi5icy1idG4tYmx1ZTpob3Zlcixcbi5icy1idG4uYnMtYnRuLWJsdWU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbi5icy1idG4uYnMtYnRuLWNsZWFyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzkgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxNzFjMzggIWltcG9ydGFudDsgfVxuXG4uYnMtYnRuLmJzLWJ0bi1jbGVhcjpob3Zlcixcbi5icy1idG4uYnMtYnRuLWNsZWFyOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2VjMjAyNyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNlYzIwMjcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4uYnMtYnRuLmJzLWJ0bi1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmJzLWJ0bi5icy1idG4tYmxhY2s6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi1ibGFjazpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmJzLWJ0bjpob3Zlcixcbi5icy1idG46Zm9jdXMsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbjpob3Zlcixcbi5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uOmZvY3VzLFxuI3Jlc3BvbmQgLmJ1dHRvbjpob3ZlcixcbiNyZXNwb25kIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5icy1idG5zLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5icy1idG5zLXdyYXBwZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5icy1idG5zLXdyYXBwZXIgLmJzLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwLjYyNXJlbSAwLjYyNXJlbSAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5icy1idG5zLXdyYXBwZXIgLmJzLWJ0biB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMC4zMTI1cmVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG5pbWcubGF6eWxvYWQge1xuICBtaW4taGVpZ2h0OiAxMi41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG5pbWcubGF6eWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1heC13aWR0aC1zaXh0ZWVuLWh1bmRyZWQge1xuICBtYXgtd2lkdGg6IDEwMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLWZvdXJ0ZWVuLWh1bmRyZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4Ny41cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLXR3ZWx2ZS1odW5kcmVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtZWxldmVuLXNldmVudHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3My4xMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtbmluZS1zZXZlbnR5IHtcbiAgbWF4LXdpZHRoOiA2MC42MjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1heC13aWR0aC1laWdodC10aGlydHkge1xuICBtYXgtd2lkdGg6IDUxLjg3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLWVpZ2h0LWh1bmRyZWQge1xuICBtYXgtd2lkdGg6IDUwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5lbnRyeS1jb250ZW50IGgyLCAuZW50cnktY29udGVudCBoMywgLmVudHJ5LWNvbnRlbnQgaDQsIC5lbnRyeS1jb250ZW50IGg1LCAuZW50cnktY29udGVudCBoNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uZW50cnktY29udGVudCBoMiArIGgzLCAuZW50cnktY29udGVudCBoMyArIGg0LCAuZW50cnktY29udGVudCBoNCArIGg1LCAuZW50cnktY29udGVudCBoNSArIGg2IHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uZW50cnktY29udGVudCBmaWd1cmUud3AtY2FwdGlvbiBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMC4yNXJlbTsgfVxuXG4uZW50cnktY29udGVudCB1bC5yb3cge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG4uZW50cnktY29udGVudCB1bC5yb3cgbGkuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZW50cnktY29udGVudCB1bC5yb3cgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmVudHJ5LWNvbnRlbnQgdWwucm93IC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uZW50cnktY29udGVudCBvbC5yb3cgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmVudHJ5LWNvbnRlbnQgb2wucm93IC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZW50cnktY29udGVudCBwICsgdWwsIC5lbnRyeS1jb250ZW50IHAgKyBvbCB7XG4gIG1hcmdpbi10b3A6IC0xLjI1cmVtOyB9XG5cbi5yZWFkYWJsZS1saW5lLWxlbmd0aCB7XG4gIG1heC13aWR0aDogNTByZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi50ZXh0LWFsaWduLWNlbnRlciwgLnRleHQtYWxpZ24tY2VudGVyICoge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnJlYWRhYmxlLWxpbmUtbGVuZ3RoLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIGh0bWwgLm1haW4td3JhcCAubWFpbi1jb250ZW50LFxuICBodG1sIC5tYWluLXdyYXAgLnNpZGViYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4jY29weXJpZ2h0IHtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgI2NvcHlyaWdodCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgI2NvcHlyaWdodCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNjb3B5cmlnaHQgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29weXJpZ2h0IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgI2NvcHlyaWdodCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICAgIHdpZHRoOiAyLjI1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICNjb3B5cmlnaHQgLnNtYWxsLTEyLm1lZGl1bS0xMi5sYXJnZS03IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAjY29weXJpZ2h0IC5zbWFsbC0xMi5tZWRpdW0tMTIubGFyZ2UtNyBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI2JhY2stdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDAuOTM3NXJlbTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAjYmFjay10b3AgYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgb3BhY2l0eTogLjc1O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMi44MTI1cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAjYmFjay10b3AgYTpob3ZlciwgI2JhY2stdG9wIGE6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAjYmFjay10b3AuYmFja3RvcC1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDsgfVxuICAgICNiYWNrLXRvcC5iYWNrdG9wLXJpZ2h0IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwIDAgMC4yNXJlbTsgfVxuICAjYmFjay10b3AuYmFja3RvcC1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgI2JhY2stdG9wLmJhY2t0b3AtbGVmdCBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7IH1cbiAgI2JhY2stdG9wLmJhY2t0b3AtY2VudGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICNiYWNrLXRvcC5iYWNrdG9wLWNlbnRlciBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gMC4yNXJlbSAwIDA7XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9XG5cbi8qKioqIDMuIEhFQURFUiBTVFlMRVMgKioqKi9cbmhlYWRlciNtYXN0aGVhZCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAgMC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLW91dDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgaGVhZGVyI21hc3RoZWFkIHtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMC41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZCAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItdGl0bGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW0gMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgICAgIHotaW5kZXg6IDk5OyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvOyB9IH1cbiAgICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDAgMCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLnNob3cge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bzsgfSB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS50ZWxlcGhvbmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLnRlbGVwaG9uZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudGVsZXBob25lIGEge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNi4yNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSxcbiAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMi41cmVtIDAgMCAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTguNzVyZW07XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87IH0gfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93LFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93LFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDAgMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogOTk7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YmVmb3JlLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTpiZWZvcmUsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIHJpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMS4wNjI1cmVtO1xuICAgICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlcixcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuNjI1cmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMC40Mzc1cmVtO1xuICAgICAgICB0b3A6IC0xLjI1cmVtO1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmFmdGVyLFxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIsXG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAxLjA2MjVyZW07XG4gICAgICAgICAgICByaWdodDogYXV0bzsgfSB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjcyxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjcyxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjcyB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC4zMTI1cmVtOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjczotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjczotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjczotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdCxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjc2VhcmNoc3VibWl0LFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAyLjEyNXJlbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpob3ZlciwgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6Zm9jdXMsXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjc2VhcmNoc3VibWl0OmhvdmVyLFxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpmb2N1cyxcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6aG92ZXIsXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjc2VhcmNoc3VibWl0OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMC43NXJlbSAwIDAgMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICAgIHRvcDogMC4zMTI1cmVtOyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMXJlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkgLmN1c3RvbS1sb2dvLWxpbmsgaW1nLmN1c3RvbS1sb2dvLCBoZWFkZXIjbWFzdGhlYWQgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IC5jdXN0b20tbG9nby1saW5rIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDYuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIC5hbHQtbmF2LXdyYXBwZXIgLmFsdC1uYXYtbXktY2FydCBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBjb2xvcjogIzJjMmI3OTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgLmFsdC1uYXYtd3JhcHBlciAubWVudSA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwLjA2MjVyZW0gc29saWQgIzVjNWI1YjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgLmFsdC1uYXYtd3JhcHBlciAubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5kZXNrdG9wLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaSA+IGEge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgLmRlc2t0b3AtbWVudS5tZW51ID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaTpsYXN0LW9mLXR5cGUgdWwuZHJvcGRvd24ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaSA+IGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5kcm9wZG93biB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSAuZHJvcGRvd24gbGkgYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjkzNzVyZW0gMC44MTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5kcm9wZG93biBsaSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5kcm9wZG93biBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgLmRyb3Bkb3duIGxpOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLmlzLWFjdGl2ZTpob3ZlciAuZHJvcGRvd24sXG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLmlzLWFjdGl2ZTpmb2N1cyAuZHJvcGRvd24sXG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpOmZvY3VzLXdpdGhpbiAuZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaS5vcGVucy1sZWZ0Omxhc3QtY2hpbGQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIuaGFzLXNlYXJjaCAuZGVza3RvcC1tZW51IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4vKiAzYS4gSGVhZGVyIE9wdGlvbiBPbmUgU3R5bGVzICovXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1sZWZ0IC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1sZWZ0IC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTguNzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5kZXNrdG9wLW1lbnUge1xuICAgICAgb3JkZXI6IDM7IH1cblxuaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyLFxuaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIHtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSxcbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNWM1YjViO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMi41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLFxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIsXG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQsXG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjcyxcbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3Mge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSAuaW5wdXQtZ3JvdXAsXG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMi4yNXJlbTsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLnNob3cge1xuICAgIG1hcmdpbjogMDsgfVxuXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmxvZ28td3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHVsLm1lbnUge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCA+IC5kcm9wZG93bi5tZW51LmRlc2t0b3AtbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwIDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qIDNiLiBIZWFkZXIgT3B0aW9uIFR3byBTdHlsZXMgKi9cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxOC43NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgLnRvcC1iYXItdGl0bGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IC5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IC5jdXN0b20tbG9nby1saW5rIGltZy5jdXN0b20tbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxOC43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciAudG9wLWJhci1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gbmF2LnRvcC1iYXIuaGFzLXNlYXJjaCB1bC5kZXNrdG9wLW1lbnUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gIG1hcmdpbi1yaWdodDogMy43NXJlbTsgfVxuXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIuMjVyZW07IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLnNob3cge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwIDA7IH0gfVxuXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gLmxvZ28td3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHVsLm1lbnUge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IC5kcm9wZG93bi5tZW51LmRlc2t0b3AtbWVudSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28gLnRvcC1iYXIge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdHdvIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiAzYy4gSGVhZGVyIE9wdGlvbiBUaHJlZSBTdHlsZXMgKi9cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIC50b3AtYmFyIC50b3AtYmFyLXRvcCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgb3JkZXI6IDE7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLnRvcC1iYXIgLnRvcC1iYXItdG9wIC5hbHQtbmF2LXdyYXBwZXIgLm1lbnUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICBvcmRlcjogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSAudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3JkZXI6IDM7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCAudG9wLWJhci10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9yZGVyOiAxO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSAudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudGVsZXBob25lIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSBuYXYudG9wLWJhci5oYXMtc2VhcmNoIHVsLmRlc2t0b3AtbWVudSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAzLjc1cmVtOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi50b3AtYmFyIC5sb2dvLXdyYXBwZXIgLmN1c3RvbS1sb2dvLWxpbmsge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi50b3AtYmFyIC5hbHQtbmF2LXdyYXBwZXIgLmFsdC1uYXYtbXktY2FydCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyLjI1cmVtOyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0uc2hvdyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0uc2hvdyB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDAgMCAwOyB9IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbmhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSAubG9nby13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIC5sb2dvLXdyYXBwZXIgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHVsLm1lbnUge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiAuZHJvcGRvd24ubWVudS5kZXNrdG9wLW1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIC50b3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qIDNkLiBIZWFkZXIgT3B0aW9uIEZvdXIgU3R5bGVzICovXG5oZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIHtcbiAgcGFkZGluZzogMCAwIDAuNXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3Age1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAwIC0wLjkzNzVyZW0gMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuODc1cmVtKTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3A6YmVmb3JlLCBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDIwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItdG9wOmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItdG9wIC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAuYWx0LW5hdi13cmFwcGVyIC5tZW51ID4gbGkge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCAjRkZGRkZGO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAuYWx0LW5hdi13cmFwcGVyIC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAuYWx0LW5hdi13cmFwcGVyIC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLmFsdC1uYXYtd3JhcHBlciAubWVudSA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAuYWx0LW5hdi13cmFwcGVyIC5tZW51ID4gbGkgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItdG9wIC5hbHQtbmF2LXdyYXBwZXIgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAudG9wLWJhci1zb2NpYWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGk6bm90KC5jdXN0b20tYnV0dG9uKTpub3QoLnRlbGVwaG9uZSkgYSwgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGk6bm90KC5jdXN0b20tYnV0dG9uKTpub3QoLnRlbGVwaG9uZSkgYTpob3ZlciwgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpOm5vdCguY3VzdG9tLWJ1dHRvbik6bm90KC50ZWxlcGhvbmUpIGE6Zm9jdXMsIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItdG9wIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5tZW51LXNlYXJjaC13cmFwcGVyIGJ1dHRvbjpob3ZlciwgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgY29sb3I6ICMyYzJiNzk7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItdG9wIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS50ZWxlcGhvbmUge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLnNob3cge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDAgMCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXRvcCAudG9wLWJhci1zb2NpYWwgLnRvcC1iYXItbXktY2FydCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItc29jaWFsIC50b3AtYmFyLW15LWNhcnQgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC40Mzc1cmVtOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCAudG9wLWJhci10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci1sZWZ0IC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5kZXNrdG9wLW1lbnUge1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zZWFyY2ggLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW0gMDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNlYXJjaCAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMC42MjVyZW0gIWltcG9ydGFudDsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyLFxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICM1YzViNWI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDEyLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSxcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdCxcbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjcyxcbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3Mge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCxcbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMi4yNXJlbTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLnNob3cge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciAubG9nby13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHVsLm1lbnUge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCA+IC5kcm9wZG93bi5tZW51LmRlc2t0b3AtbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgZm9ybSNzZWFyY2hmb3JtLnNob3cge1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDAgMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC50b3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLWZvdXIgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiAzZS4gTW9iaWxlIE9mZi1DYW52YXMgTWVudSBTdHlsZXMgKi9cbi50aXRsZS1iYXItbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSBhLmN1c3RvbS1sb2dvLWxpbmsge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTUuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIGEuY3VzdG9tLWxvZ28tbGluayBpbWcsIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIGEuY3VzdG9tLWxvZ28tbGluayBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgYm9keTpub3QoLnRvcGJhcikgbmF2LnNpdGUtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIGJvZHkudG9wYmFyIGhlYWRlcjpub3QoLmhlYWRlci1vcHRpb24tb25lKSBuYXYuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLXJpZ2h0LCBib2R5LnRvcGJhciBoZWFkZXI6bm90KC5oZWFkZXItb3B0aW9uLW9uZSkgbmF2LnNpdGUtbmF2aWdhdGlvbiAudG9wLWJhci10b3AsIGJvZHkudG9wYmFyIGhlYWRlcjpub3QoLmhlYWRlci1vcHRpb24tb25lKSBuYXYuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWJvdHRvbSAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi5zaXRlLW5hdmlnYXRpb24gLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbm5hdi5vZmYtY2FudmFzIGEuY3VzdG9tLWxvZ28tbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMXJlbTsgfVxuICBuYXYub2ZmLWNhbnZhcyBhLmN1c3RvbS1sb2dvLWxpbmsgaW1nLmN1c3RvbS1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAuNjI1cmVtIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbm5hdi5vZmYtY2FudmFzIC5tZW51Om5vdCgubmVzdGVkKSA+IGxpID4gYSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5uYXYub2ZmLWNhbnZhcyAubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICBuYXYub2ZmLWNhbnZhcyAubWVudS5uZXN0ZWQgPiBsaSA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW0gIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbm5hdi5vZmYtY2FudmFzIC5zdWJtZW51LXRvZ2dsZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDIuNTIzNzVyZW07IH1cbiAgbmF2Lm9mZi1jYW52YXMgLnN1Ym1lbnUtdG9nZ2xlOmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGOyB9XG5cbm5hdi5vZmYtY2FudmFzID4gdWwubWVudSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgbmF2Lm9mZi1jYW52YXMgPiB1bC5tZW51IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbm5hdi5vZmYtY2FudmFzIHVsLm1lbnUuYWx0LW1lbnUge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbm5hdi5vZmYtY2FudmFzID4gLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLFxubmF2Lm9mZi1jYW52YXMgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlIGEge1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBuYXYub2ZmLWNhbnZhcyA+IC5tZW51ID4gbGkuaXMtYWN0aXZlID4gYTpob3ZlciwgbmF2Lm9mZi1jYW52YXMgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGE6Zm9jdXMsXG4gIG5hdi5vZmYtY2FudmFzIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhOmhvdmVyLFxuICBuYXYub2ZmLWNhbnZhcyAuc3VibWVudSBsaS5pcy1hY3RpdmUgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxubmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICBtYXJnaW46IDEuMjVyZW0gMCAwLjkzNzVyZW0gMDtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgd2lkdGg6IDE1LjI2ODc0JTsgfVxuICBuYXYub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMCAwOyB9XG4gICAgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW07XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLnRvcC1iYXItbXktY2FydCB7XG4gICAgei1pbmRleDogOTk5OyB9XG4gICAgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBuYXYub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS50b3AtYmFyLW15LWNhcnQgYSBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4zNzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMC41cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLnRvcC1iYXItbXktY2FydCBhIHNwYW4uY2FydC1jb250ZW50cy1jb3VudC0wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IGE6aG92ZXIgc3Bhbi5jYXJ0LWNvbnRlbnRzLCBuYXYub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS50b3AtYmFyLW15LWNhcnQgYTpmb2N1cyBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxubmF2Lm9mZi1jYW52YXMgLmFsdC1uYXYtbXktY2FydCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2VjMjAyNztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIGF1dG8gMC45Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGE6aG92ZXIsIG5hdi5vZmYtY2FudmFzIC5hbHQtbmF2LW15LWNhcnQgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5OyB9XG4gIG5hdi5vZmYtY2FudmFzIC5hbHQtbmF2LW15LWNhcnQgaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMCAwLjMxMjVyZW07XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5uYXYub2ZmLWNhbnZhcyBmb3JtI3NlYXJjaGZvcm0ge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgbmF2Lm9mZi1jYW52YXMgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIuMTI1cmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIG5hdi5vZmYtY2FudmFzIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtIDAgMCAwLjE4NzVyZW07XG4gICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbSAhaW1wb3J0YW50OyB9XG4gIG5hdi5vZmYtY2FudmFzIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHdpZHRoOiAyLjEyNXJlbTsgfVxuICAgIG5hdi5vZmYtY2FudmFzIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6aG92ZXIsIG5hdi5vZmYtY2FudmFzIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4vKiAzZi4gTW9iaWxlIFRvcCBCYXIgTWVudSBTdHlsZXMgKi9cbmJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogI2VjMjAyNztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBoZWlnaHQ6IDIuNTIzNzVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgLnN1Ym1lbnUtdG9nZ2xlOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7IH1cbiAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51ID4gdWwubWVudSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwubWVudS5hbHQtbWVudSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLm1lbnUuYWx0LW1lbnUgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5tZW51Om5vdCgubmVzdGVkKSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMC42ODc1cmVtIDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5tZW51Lm5lc3RlZCA+IGxpID4gYSB7XG4gICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEsXG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuc3VibWVudSBsaS5pcy1hY3RpdmUgYSB7XG4gICAgY29sb3I6ICNlYzIwMjc7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGE6aG92ZXIsIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSA+IC5tZW51ID4gbGkuaXMtYWN0aXZlID4gYTpmb2N1cyxcbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlIGE6aG92ZXIsXG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZWMyMDI3OyB9XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhLCBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGk6bm90KC5jdXN0b20tYnV0dG9uKTphZnRlciB7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYTpob3ZlciwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IGksXG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24uYWx0LW5hdi1teS1jYXJ0IGkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQgc3Bhbi5jYXJ0LWNvbnRlbnRzLFxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uLmFsdC1uYXYtbXktY2FydCBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb2xvcjogIzJjMmI3OTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjMxMjVyZW07XG4gICAgICBtaW4td2lkdGg6IDEuMjVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgYSwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEgaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhOmhvdmVyLCBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgYTpmb2N1cywgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEgaTpob3ZlciwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEgaTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uIGEge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5hbHQtbmF2LW15LWNhcnQgYSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogI2VjMjAyNztcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAuNDM3NXJlbSAwIDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuYWx0LW5hdi1teS1jYXJ0IGE6aG92ZXIsIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuYWx0LW5hdi1teS1jYXJ0IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5OyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5hbHQtbmF2LW15LWNhcnQgaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuYWx0LW5hdi1teS1jYXJ0IHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDAuMzEyNXJlbTtcbiAgICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNWM1YjViO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyLjEyNXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMi4xMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2VjMjAyNztcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpob3ZlciwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gIWltcG9ydGFudDsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSBmb3JtI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4vKiAzZy4gU3RpY2t5IEhlYWRlciBTdHlsZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzkuOTM3NXJlbSkge1xuICAjbWFzdGhlYWQge1xuICAgIHdpbGwtY2hhbmdlOiB0b3A7IH1cbiAgYm9keS5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAtMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjVzIGVhc2Utb3V0OyB9XG4gIGJvZHkuYWRtaW4tYmFyLnN0aWNreS1wcmVwICNtYXN0aGVhZC5zdGlja3ktaGVhZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRvcDogLTEwMCU7XG4gICAgdHJhbnNpdGlvbjogdG9wIC41cyBlYXNlLW91dDsgfVxuICBib2R5LnN0aWNreS1oZWFkZXIuc3RpY2t5LXByZXAgI21hc3RoZWFkLnN0aWNreS1oZWFkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAwOyB9XG4gIGJvZHkuYWRtaW4tYmFyLnN0aWNreS1oZWFkZXIuc3RpY2t5LXByZXAgI21hc3RoZWFkLnN0aWNreS1oZWFkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAzMnB4OyB9IH1cblxuLyogM2guIEhlYWRlciBPdmVycmlkZXMgKi9cbi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCBsaS5jdXN0b20tYnV0dG9uIGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuOTM3NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4udG9wLWJhciAudG9wLWJhci1zb2NpYWwgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQgaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuXG4udG9wLWJhciAudG9wLWJhci1zb2NpYWwgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY29sb3I6ICMyYzJiNzk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luOiAwIDAgMCAwLjMxMjVyZW07XG4gIG1pbi13aWR0aDogMS4yNXJlbTsgfVxuXG4udG9wLWJhciB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuYm9keS50b3BiYXIgLm1lbnUtaWNvbjpiZWZvcmUsXG5ib2R5Lm9mZmNhbnZhcyAubWVudS1pY29uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwLjQzNzVyZW0gMCBpbmhlcml0O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMC4xMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuXG5ib2R5LnRvcGJhciAubWVudS1pY29uOmFmdGVyLFxuYm9keS5vZmZjYW52YXMgLm1lbnUtaWNvbjphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMC44NzVyZW0gMCBpbmhlcml0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG5cbmJvZHkudG9wYmFyIC5tZW51LWljb24uYWN0aXZlOmJlZm9yZSxcbmJvZHkub2ZmY2FudmFzIC5tZW51LWljb24uYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbGVmdDogMC4zNzVyZW07XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbmJvZHkudG9wYmFyIC5tZW51LWljb24uYWN0aXZlOmFmdGVyLCBib2R5LnRvcGJhciAubWVudS1pY29uLmFjdGl2ZTpob3ZlcjphZnRlcixcbmJvZHkub2ZmY2FudmFzIC5tZW51LWljb24uYWN0aXZlOmFmdGVyLFxuYm9keS5vZmZjYW52YXMgLm1lbnUtaWNvbi5hY3RpdmU6aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMC44NzVyZW0gMCBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC0wLjU2MjVyZW07XG4gIHRvcDogLTAuMzEyNXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKioqKiA0LiBIT01FIFBBR0UgU1RZTEVTICoqKiovXG4uaG9tZS1oZXJvLXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogOS4zNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiA5LjM3NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tZS1oZXJvLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDcuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5ob21lLWhlcm8td3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgLmhvbWUtaGVyby13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhvbWUtaGVyby13cmFwcGVyIC5ob21lLWhlcm8tY2FwdGlvbiBoMiwgLmhvbWUtaGVyby13cmFwcGVyIC5ob21lLWhlcm8tY2FwdGlvbiBoMyB7XG4gICAgICBjb2xvcjogIzJjMmI3OTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24gaDYge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuaG9tZS1oZXJvLXdyYXBwZXIgLmhvbWUtaGVyby1jYXB0aW9uIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ob21lIC5tYWluLXdyYXAuZnVsbC13aWR0aCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAuaG9tZSAubWFpbi13cmFwLmZ1bGwtd2lkdGggLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmhvbWUgLm1haW4td3JhcCAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1haW4td3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuLyoqKiogNS4gSU5URVJOQUwgUEFHRSBTVFlMRVMgKioqKi9cbi8qIDVhLiBCcmVhZGNydW1icyBTdHlsZXMgKi9cbi5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cbiAgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG4gICAgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaSBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaS5zZXBhcmF0b3Ige1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG5cbi8qIDViLiBQYWdlIFRpdGxlIGFuZCBUaXRsZSBCYXIgU3R5bGVzICovXG5oMS5lbnRyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMy4xMjVyZW0gIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICBoMS5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50OyB9IH1cblxuLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXRvcDogMC4xODc1cmVtIHNvbGlkICNlYzIwMjc7XG4gIGJvcmRlci1ib3R0b206IDAuMTg3NXJlbSBzb2xpZCAjZWMyMDI3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyOmJlZm9yZSwgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhcjphZnRlciB7XG4gICAgYm90dG9tOiAwLjI1cmVtO1xuICAgIHRvcDogYXV0bzsgfVxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgaDEuZW50cnktdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtc2hhZG93OiAwIDAuMTI1cmVtIDAuMDYyNXJlbSAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHRpbWUsIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciBwLmJ5bGluZS5hdXRob3IsIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciBwLmJzLXBvc3QtZGF0ZSwgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHAuYnMtcG9zdC1jYXRzLCAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgcC5icy1wb3N0LWNvbW1lbnRzLCAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgcC5zZWFyY2gtcXVlcnksIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciB1bCBsaSwgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHNwYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIDAuMTI1cmVtIDAuMDYyNXJlbSAjMDAwMDAwO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwIDAgMC43NXJlbTsgfVxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgLmJsb2ctbWV0YSBwLmJzLXBvc3QtZGF0ZSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIC5ibG9nLW1ldGEgcC5ieWxpbmUuYXV0aG9yIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciAuYmxvZy1tZXRhIHAuYnlsaW5lLmF1dGhvciBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIC5ibG9nLW1ldGEgcC5icy1wb3N0LWNhdHMge1xuICAgIG9yZGVyOiAzOyB9XG4gICAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIC5ibG9nLW1ldGEgcC5icy1wb3N0LWNhdHMgYSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciAuYmxvZy1tZXRhIHAuYnMtcG9zdC1jb21tZW50cyB7XG4gICAgb3JkZXI6IDQ7IH1cblxuLyogNWMuIERlZmF1bHQgUGFnZSBUZW1wbGF0ZSBTdHlsZXMgKi9cbi5tYWluLXdyYXAge1xuICBtYXgtd2lkdGg6IDg3LjVyZW0gIWltcG9ydGFudDsgfVxuICAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQge1xuICAgICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDsgfSB9XG5cbmJvZHk6bm90KC5ob21lKSAubWFpbi13cmFwIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJvZHk6bm90KC5ob21lKSAubWFpbi13cmFwID4gYXJ0aWNsZS5tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgICBib2R5Om5vdCguaG9tZSkgLm1haW4td3JhcCA+IGFydGljbGUubWFpbi1jb250ZW50IHAsIGJvZHk6bm90KC5ob21lKSAubWFpbi13cmFwID4gYXJ0aWNsZS5tYWluLWNvbnRlbnQgc3BhbiwgYm9keTpub3QoLmhvbWUpIC5tYWluLXdyYXAgPiBhcnRpY2xlLm1haW4tY29udGVudCBsaSwgYm9keTpub3QoLmhvbWUpIC5tYWluLXdyYXAgPiBhcnRpY2xlLm1haW4tY29udGVudCB0aW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIGJvZHk6bm90KC5ob21lKSAubWFpbi13cmFwID4gYXJ0aWNsZS5tYWluLWNvbnRlbnQgb2wsIGJvZHk6bm90KC5ob21lKSAubWFpbi13cmFwID4gYXJ0aWNsZS5tYWluLWNvbnRlbnQgdWw6bm90KC5hY2NvcmRpb24pOm5vdCgudGFicykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS1ub3NpZGViYXIgLm1haW4td3JhcCB7XG4gIG1heC13aWR0aDogODcuNXJlbSAhaW1wb3J0YW50OyB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLW5vc2lkZWJhciAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA1MHJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIDVkLiBGdWxsIFdpZHRoIFBhZ2UgVGVtcGxhdGUgU3R5bGVzICovXG4ubWFpbi13cmFwLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTsgfVxuICAubWFpbi13cmFwLmZ1bGwtd2lkdGggLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLyogNWUuIFBvc3QgTmF2aWdhdGlvbiBGb290ZXIgU3R5bGVzICovXG5mb290ZXIucG9ydGZvbGlvLW5hdmlnYXRpb24gbmF2Lm5hdmlnYXRpb24ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cblxuZm9vdGVyIG5hdi5uYXZpZ2F0aW9uLnBvc3QtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbjogMnJlbSBhdXRvIDA7XG4gIG1heC13aWR0aDogNzVyZW07IH1cblxuLyogNWYuIExlZnQgU2lkZWJhciBQYWdlIFRlbXBsYXRlIFN0eWxlcyAqL1xuLyogNWcuIFNpZGViYXIgU3R5bGVzICovXG5hc2lkZS5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgYXNpZGUuc2lkZWJhciB7XG4gICAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50OyB9IH1cbiAgYXNpZGUuc2lkZWJhci5wb3J0Zm9saW8tc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgYXNpZGUuc2lkZWJhci5wb3J0Zm9saW8tc2lkZWJhciBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGFzaWRlLnNpZGViYXIgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBhc2lkZS5zaWRlYmFyIC53aWRnZXQ6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBhc2lkZS5zaWRlYmFyIC53aWRnZXQgaDYge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIGFzaWRlLnNpZGViYXIgLndpZGdldCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBhc2lkZS5zaWRlYmFyIC53aWRnZXQgdWwgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGFzaWRlLnNpZGViYXIgLndpZGdldCB1bCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAjMDA2NTM2O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgYXNpZGUuc2lkZWJhciAud2lkZ2V0IHVsID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGFzaWRlLnNpZGViYXIgbGkucmVjZW50Y29tbWVudHMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBhc2lkZS5zaWRlYmFyIGxpLnJlY2VudGNvbW1lbnRzIHNwYW4uY29tbWVudC1hdXRob3ItbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gICAgYXNpZGUuc2lkZWJhciBsaS5yZWNlbnRjb21tZW50cyBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG5cbi8qIDVoLiBTb2NpYWwgU2hhcmluZyBTaG9ydGNvZGUgU3R5bGVzICovXG4uYnMtc29jaWFsLXNoYXJlLW91dGVyIHtcbiAgbWFyZ2luOiAxLjg3NXJlbSBhdXRvIDA7XG4gIG1heC13aWR0aDogNTEuODc1cmVtO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuXG4uYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvIDEuODc1cmVtO1xuICB3aWR0aDogYXV0bzsgfVxuICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfSB9XG4gICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFyZW0pO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIgLnNpbmdsZS1zb2NpYWwtc2hhcmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuMjVyZW0pOyB9IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIgLnNpbmdsZS1zb2NpYWwtc2hhcmUgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIgLnNpbmdsZS1zb2NpYWwtc2hhcmUgYSBpIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtdHdpdHRlciBhIGkge1xuICAgICAgICBjb2xvcjogIzAwYWNlZDsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtZmFjZWJvb2sgYSBpIHtcbiAgICAgICAgY29sb3I6ICMzYjU5OTg7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIgLnNpbmdsZS1zb2NpYWwtc2hhcmUuc29jaWFsLXNoYXJlLWdvb2dsZSBhIGkge1xuICAgICAgICBjb2xvcjogI2RkNGIzOTsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtbGlua2VkaW4gYSBpIHtcbiAgICAgICAgY29sb3I6ICMwMDdiYjY7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIgLnNpbmdsZS1zb2NpYWwtc2hhcmUuc29jaWFsLXNoYXJlLXBpbnRlcmVzdCBhIGkge1xuICAgICAgICBjb2xvcjogI2NiMjAyNzsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZTpob3ZlciBhIGksIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIgLnNpbmdsZS1zb2NpYWwtc2hhcmU6Zm9jdXMgYSBpIHtcbiAgICAgICAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDsgfVxuICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIuc2hvdy1jb3VudCAuc2luZ2xlLXNvY2lhbC1zaGFyZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlIGEgaSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmUuc29jaWFsLXNoYXJlLXR3aXR0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDBhY2VkOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmUuc29jaWFsLXNoYXJlLWZhY2Vib29rIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiNTk5ODtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIuc2hvdy1jb3VudCAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtZ29vZ2xlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2RkNGIzOTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIuc2hvdy1jb3VudCAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtbGlua2VkaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3YmI2O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlLnNvY2lhbC1zaGFyZS1waW50ZXJlc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2IyMDI3O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlOmhvdmVyLCAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlOmhvdmVyIGEgaSwgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlOmZvY3VzIGEgaSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4vKiA1aS4gR2FsbGVyeSBTaG9ydGNvZGUgU3R5bGVzICovXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9XG4gIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gLmdhbGxlcnktaWNvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIGEge1xuICAgICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIGEgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg0NCwgNDMsIDEyMSwgMC43NSk7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW06aG92ZXIgLmdhbGxlcnktaWNvbiwgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbTpmb2N1cyAuZ2FsbGVyeS1pY29uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtOmhvdmVyIC5nYWxsZXJ5LWljb24gYSBpbWcsIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW06Zm9jdXMgLmdhbGxlcnktaWNvbiBhIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtOmhvdmVyIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0LCAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtOmZvY3VzIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtIC5nYWxsZXJ5LWljb24gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtIC5nYWxsZXJ5LWljb24gYSBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg0NCwgNDMsIDEyMSwgMC43NSk7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW06aG92ZXIgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQsIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW06Zm9jdXMgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4vKiA1ai4gUGFnaW5hdGlvbiBTdHlsZXMgKi9cbnVsLnBhZ2luYXRpb24ge1xuICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIHVsLnBhZ2luYXRpb24gbGksIHVsLnBhZ2luYXRpb24gbGkgc3BhbiwgdWwucGFnaW5hdGlvbiBsaSBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMS44NzVyZW07IH1cbiAgdWwucGFnaW5hdGlvbiBsaSBzcGFuLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzIwMjc7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYTpob3ZlciwgdWwucGFnaW5hdGlvbiBsaSBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbi8qIDVrLiBHcmF2aXR5IEZvcm0gU3R5bGVzICovXG4ubWFpbi1jb250ZW50ID4gLmVudHJ5LWNvbnRlbnQgPiAuZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKTsgfSB9XG5cbi5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAyLjgxMjVyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIGlucHV0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDFyZW0pICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgdGV4dGFyZWEsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgaW5wdXQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHRleHRhcmVhLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB0ZXh0YXJlYSwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0IGlucHV0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3Qgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgdGV4dGFyZWEsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IGlucHV0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IHRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXQgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBzZWxlY3QgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCB0ZXh0YXJlYSArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IGlucHV0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgc2VsZWN0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgdGV4dGFyZWEgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgaW5wdXQgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgc2VsZWN0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IHRleHRhcmVhICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCBpbnB1dCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3Qgc2VsZWN0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCB0ZXh0YXJlYSArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCBpbnB1dCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCBzZWxlY3QgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QgdGV4dGFyZWEgKyBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuMDYyNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbC5oYXMtbGFiZWwtYmVsb3cgaW5wdXQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwuaGFzLWxhYmVsLWJlbG93IHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbC5oYXMtbGFiZWwtYmVsb3cgdGV4dGFyZWEsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQuaGFzLWxhYmVsLWJlbG93IGlucHV0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0Lmhhcy1sYWJlbC1iZWxvdyBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQuaGFzLWxhYmVsLWJlbG93IHRleHRhcmVhLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodC5oYXMtbGFiZWwtYmVsb3cgaW5wdXQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0Lmhhcy1sYWJlbC1iZWxvdyBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0Lmhhcy1sYWJlbC1iZWxvdyB0ZXh0YXJlYSwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0Lmhhcy1sYWJlbC1iZWxvdyBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0Lmhhcy1sYWJlbC1iZWxvdyBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdC5oYXMtbGFiZWwtYmVsb3cgdGV4dGFyZWEsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0Lmhhcy1sYWJlbC1iZWxvdyBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QuaGFzLWxhYmVsLWJlbG93IHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QuaGFzLWxhYmVsLWJlbG93IHRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfYWRkcmVzc19sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3Mge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDFyZW0gMC4zMTI1cmVtIDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9mdWxsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfbGVmdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X3JpZ2h0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW0gIWltcG9ydGFudDsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgaW5wdXQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9mdWxsIHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2xlZnQgaW5wdXQsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0IHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X3JpZ2h0IGlucHV0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgaW5wdXQgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgc2VsZWN0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0IGlucHV0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0IHNlbGVjdCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQgaW5wdXQgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X3JpZ2h0IHNlbGVjdCArIGxhYmVsIHtcbiAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfbGVmdCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9yaWdodCBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X3JpZ2h0ICsgLmdpbnB1dF9sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIge1xuICBtYXJnaW46IDEuODc1cmVtIDAgMCAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLnZhbGlkYXRpb25fZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjZWMyMDI3O1xuICBib3JkZXItY29sb3I6ICNlYzIwMjc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IGlucHV0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBpbnB1dCArIGxhYmVsIHtcbiAgICB0b3A6IDEwMCU7IH1cblxuLyoqKiogNi4gQkxPRyBQQUdFIEFORCBTSU5HTEUgQkxPRyBQT1NUIFNUWUxFUyAqKioqL1xuLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAsIC5ibG9nIC5tYWluLXdyYXAsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcCwgLmFyY2hpdmUgLm1haW4td3JhcCwgLnRhZyAubWFpbi13cmFwLCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSwgLmJsb2cgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhLCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhLCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhLCAuYXJjaGl2ZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEsIC50YWcgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhLCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcCwgLmJsb2cgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHAsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwLCAuYXJjaGl2ZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcCwgLnRhZyAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcCwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAwO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbSAwIDA7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcDpsYXN0LW9mLXR5cGUsIC5ibG9nIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwOmxhc3Qtb2YtdHlwZSwgLnNlYXJjaC1yZXN1bHRzIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwOmxhc3Qtb2YtdHlwZSwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwOmxhc3Qtb2YtdHlwZSwgLmFyY2hpdmUgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHA6bGFzdC1vZi10eXBlLCAudGFnIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwOmxhc3Qtb2YtdHlwZSwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5uby1zaWRlYmFyLCAuYmxvZyAubWFpbi13cmFwLm5vLXNpZGViYXIsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLm5vLXNpZGViYXIsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLm5vLXNpZGViYXIsIC5hcmNoaXZlIC5tYWluLXdyYXAubm8tc2lkZWJhciwgLnRhZyAubWFpbi13cmFwLm5vLXNpZGViYXIsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5uby1zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLmJsb2cgLm1haW4td3JhcC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuYXJjaGl2ZSAubWFpbi13cmFwLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC50YWcgLm1haW4td3JhcC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQsIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQsIC5ibG9nIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQsIC5ibG9nIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCwgLnNlYXJjaC1yZXN1bHRzIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0LCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0LCAuYXJjaGl2ZSAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0LCAuYXJjaGl2ZSAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQsIC50YWcgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCwgLnRhZyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5ibG9nIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLmJsb2cgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuYXJjaGl2ZSAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5hcmNoaXZlIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAudGFnIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLnRhZyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5ibG9nIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLmJsb2cgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuYXJjaGl2ZSAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5hcmNoaXZlIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAudGFnIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLnRhZyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAuYmxvZy1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5ibG9nIC5tYWluLXdyYXAuYmxvZy1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5ibG9nIC5tYWluLXdyYXAuc2luZ2xlLWZ1bGwtd2lkdGgubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnNlYXJjaC1yZXN1bHRzIC5tYWluLXdyYXAuYmxvZy1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLmJsb2ctZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcC5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuYXJjaGl2ZSAubWFpbi13cmFwLmJsb2ctZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuYXJjaGl2ZSAubWFpbi13cmFwLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC50YWcgLm1haW4td3JhcC5ibG9nLWZ1bGwtd2lkdGgubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnRhZyAubWFpbi13cmFwLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5ibG9nLWZ1bGwtd2lkdGgubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc2luZ2xlLXBvc3QgLmFib3V0LXRoZS1hdXRob3Itd3JhcCwgLmJsb2cgLmFib3V0LXRoZS1hdXRob3Itd3JhcCwgLnNlYXJjaC1yZXN1bHRzIC5hYm91dC10aGUtYXV0aG9yLXdyYXAsIC5zaW5nbGUtc2VydmljZSAuYWJvdXQtdGhlLWF1dGhvci13cmFwLCAuYXJjaGl2ZSAuYWJvdXQtdGhlLWF1dGhvci13cmFwLCAudGFnIC5hYm91dC10aGUtYXV0aG9yLXdyYXAsIC5zaW5nbGUtc3RhZmYgLmFib3V0LXRoZS1hdXRob3Itd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMnJlbSAwO1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnNpbmdsZS1wb3N0IC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSwgLmJsb2cgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlLCAuc2VhcmNoLXJlc3VsdHMgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlLCAuc2luZ2xlLXNlcnZpY2UgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlLCAuYXJjaGl2ZSAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UsIC50YWcgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlLCAuc2luZ2xlLXN0YWZmIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiA1cmVtOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSBpbWcsIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSBpbWcsIC5zZWFyY2gtcmVzdWx0cyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UgaW1nLCAuc2luZ2xlLXNlcnZpY2UgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlIGltZywgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlIGltZywgLnRhZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UgaW1nLCAuc2luZ2xlLXN0YWZmIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpbmdsZS1wb3N0IC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiwgLmJsb2cgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLCAuc2VhcmNoLXJlc3VsdHMgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLCAuc2luZ2xlLXNlcnZpY2UgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLCAuYXJjaGl2ZSAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24sIC50YWcgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLCAuc2luZ2xlLXN0YWZmIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUuNjI1cmVtKTsgfVxuICAgIC5zaW5nbGUtcG9zdCAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUsIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSwgLnNlYXJjaC1yZXN1bHRzIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSwgLnNpbmdsZS1zZXJ2aWNlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSwgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uIHA6bGFzdC1vZi10eXBlLCAudGFnIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSwgLnNpbmdsZS1zdGFmZiAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaW5nbGUtcG9zdCAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcCBzdHJvbmcsIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwIHN0cm9uZywgLnNlYXJjaC1yZXN1bHRzIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwIHN0cm9uZywgLnNpbmdsZS1zZXJ2aWNlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwIHN0cm9uZywgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uIHAgc3Ryb25nLCAudGFnIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwIHN0cm9uZywgLnNpbmdsZS1zdGFmZiAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcCBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiAxMTUlOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbi5uby1hdmF0YXIsIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbi5uby1hdmF0YXIsIC5zZWFyY2gtcmVzdWx0cyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24ubm8tYXZhdGFyLCAuc2luZ2xlLXNlcnZpY2UgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLm5vLWF2YXRhciwgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLm5vLWF2YXRhciwgLnRhZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24ubm8tYXZhdGFyLCAuc2luZ2xlLXN0YWZmIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbi5uby1hdmF0YXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLyogNmEuIEJsb2cgTG9vcCBTaG9ydGNvZGUgU3R5bGVzICovXG4uYnMtYmxvZy1sb29wIC5icy1wb3N0LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmJzLWJsb2ctbG9vcCAuYnMtcG9zdC10aXRsZSBoMyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmJzLWJsb2ctbG9vcCAuYmxvZy1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmJzLWJsb2ctbG9vcCAuYmxvZy1tZXRhIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJzLWJsb2ctbG9vcCAuYmxvZy1tZXRhIHAgaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMS41cmVtOyB9XG4gICAgLmJzLWJsb2ctbG9vcCAuYmxvZy1tZXRhIHAuYnMtcG9zdC1kYXRlIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmJzLWJsb2ctbG9vcCAuYmxvZy1tZXRhIHAuYnMtcG9zdC1ieWxpbmUge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwLmJzLXBvc3QtYnlsaW5lIHNwYW4uYXZhdGFyIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwLmJzLXBvc3QtY2F0cyB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwLmJzLXBvc3QtY29tbWVudHMge1xuICAgICAgb3JkZXI6IDQ7IH1cblxuLmJzLWJsb2ctbG9vcCAuYmxvZy1mb290ZXIgYSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtbGlzdCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0Omxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSB7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDE4Ljc1cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1saXN0IGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtbGlzdCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC00LjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTIuODEyNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA0LjM3NXJlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZDogIzJjMmI3OTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjM3NXJlbTsgfVxuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGZpZ3VyZSwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGEsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgZmlndXJlLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGZpZ3VyZSBpbWcsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSBhIGltZywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSBmaWd1cmUgaW1nLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGEgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgYTpob3ZlciBpbWcsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSBhOmZvY3VzIGltZywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSBhOmhvdmVyIGltZywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSBhOmZvY3VzIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctbWV0YSwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1tZXRhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLW1ldGEgLmJzLXBvc3QtZGF0ZSwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1tZXRhIC5icy1wb3N0LWRhdGUge1xuICAgICAgICBjb2xvcjogI2VjMjAyNyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1tZXRhIC5icy1wb3N0LWRhdGUgaTpiZWZvcmUsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctbWV0YSAuYnMtcG9zdC1kYXRlIGk6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLy9kZXYyLnVwdG93bnN0dWRpb3MubmV0L3RheWxvcnMvd3AtY29udGVudC91cGxvYWRzLzIwMTkvMDMvY2FsZW5kYXItaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDAuMTI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjM3NXJlbTsgfVxuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLW1ldGEgLmJzLWVudHJ5LW1ldGEsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctbWV0YSAuYnMtZW50cnktbWV0YSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctbWV0YSAuYnMtZW50cnktbWV0YSBwLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLW1ldGEgLmJzLWVudHJ5LW1ldGEgcCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgaDMsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgaDMge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5lbnRyeS1jb250ZW50IGgzIGEsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgaDMgYSB7XG4gICAgICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJzLXBvc3QtZXhjZXJwdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYnMtcG9zdC1leGNlcnB0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZvb3RlciBhLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZvb3RlciBhIHtcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuMTg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMS44NzVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZvb3RlciBhOmhvdmVyLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZm9vdGVyIGE6Zm9jdXMsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZm9vdGVyIGE6aG92ZXIsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZm9vdGVyIGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3O1xuICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNlYzIwMjc7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQuZ3JpZC0yLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwuZ3JpZC0yLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNC4zNzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQuZ3JpZC0yLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwuZ3JpZC0yLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0LjM3NXJlbSk7IH0gfVxuICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkLmdyaWQtMy1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3QsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsLmdyaWQtMy1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gNC4zNzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQuZ3JpZC0zLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwuZ3JpZC0zLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQuMzc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQuZ3JpZC0zLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwuZ3JpZC0zLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0LjM3NXJlbSk7IH0gfVxuICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkLmdyaWQtNC1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3QsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsLmdyaWQtNC1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDQuMzc1cmVtKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZC5ncmlkLTQtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbC5ncmlkLTQtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNC4zNzVyZW0pOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZC5ncmlkLTQtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbC5ncmlkLTQtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQuMzc1cmVtKTsgfSB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgbmF2LmN1c3RvbS1wYWdpbmF0aW9uLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBuYXYuY3VzdG9tLXBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfVxuXG4uYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIC5zbGljay1saXN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgdWwuc2xpY2stZG90cyB7XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICBtYXJnaW4tdG9wOiAtMS44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgei1pbmRleDogOTk7IH1cbiAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgdWwuc2xpY2stZG90cyBsaTpvbmx5LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5icy1ibG9nLWxvb3AgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHtcbiAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmJzLWJsb2ctbG9vcCBuYXYuY3VzdG9tLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEuODc1cmVtOyB9XG4gIC5icy1ibG9nLWxvb3AgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHNwYW4ucGFnZS1udW1iZXJzLnBhZ2UtbnVtIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5icy1ibG9nLWxvb3AgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHNwYW4ucGlwZS1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW46IDAgMC40Mzc1cmVtOyB9XG4gIC5icy1ibG9nLWxvb3AgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHNwYW4ucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzIwMjc7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVycyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAgIC5icy1ibG9nLWxvb3AgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIGEucGFnZS1udW1iZXJzOmhvdmVyLCAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVyczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLyogNmIuIENvbW1lbnRzIFNlY3Rpb24gU3R5bGVzICovXG5zZWN0aW9uI2NvbW1lbnRzIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgPiBsaSB7XG4gICAgICBib3JkZXItbGVmdDogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0ID4gbGkgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgaGVhZGVyLmNvbW1lbnQtYXV0aG9yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgaGVhZGVyLmNvbW1lbnQtYXV0aG9yIGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGhlYWRlci5jb21tZW50LWF1dGhvciB0aW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGhlYWRlci5jb21tZW50LWF1dGhvciBjaXRlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCB1bC5jaGlsZHJlbiB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwIDA7IH1cbiAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IHVsLmNoaWxkcmVuIGxpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IHVsLmNoaWxkcmVuIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IHVsLmNoaWxkcmVuIGxpIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgYS5jb21tZW50LXJlcGx5LWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5zZWN0aW9uI3Jlc3BvbmQge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICBzZWN0aW9uI3Jlc3BvbmQgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMDsgfVxuICBzZWN0aW9uI3Jlc3BvbmQgZm9ybSNjb21tZW50Zm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSwgc2VjdGlvbiNyZXNwb25kIGZvcm0jY29tbWVudGZvcm0gdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWluLWhlaWdodDogMi44MTI1cmVtOyB9XG4gIHNlY3Rpb24jcmVzcG9uZCBmb3JtI2NvbW1lbnRmb3JtIGlucHV0LmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gIHNlY3Rpb24jcmVzcG9uZCBmb3JtI2NvbW1lbnRmb3JtIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIDZjLiBBSkFYIEJsb2cgTG9vcCBTaG9ydGNvZGUgU3R5bGVzICovXG4uYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1sZWZ0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB1bC5icy1hamF4LWJsb2ctaW1hZ2VzIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQgdWwuYnMtYWpheC1ibG9nLWltYWdlcyBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB1bC5icy1hamF4LWJsb2ctaW1hZ2VzIC5zbGljay1zbGlkZSwgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1sZWZ0IHVsLmJzLWFqYXgtYmxvZy1pbWFnZXMgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB1bC5icy1hamF4LWJsb2ctaW1hZ2VzIGJ1dHRvbi5zbGljay1hcnJvdyB7XG4gICAgICAgIGJvdHRvbTogLTEuMjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB1bC5icy1hamF4LWJsb2ctaW1hZ2VzIGJ1dHRvbi5zbGljay1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NiUgLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQubG9hZGluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodC5sb2FkZWQge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLWFqYXgtc3dhcC1hcmVhLmFqYXgtbG9hZGluZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCBpbWcubG9hZGluZy1hbmltYXRpb24ge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtZmVhdHVyZWQtaW1hZ2UgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC10aXRsZSBoMyBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1tZXRhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSBwIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LW1ldGEgcCBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMS41cmVtOyB9XG4gICAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSBwLmJzLXBvc3QtZGF0ZSB7XG4gICAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1tZXRhIHAuYnMtcG9zdC1ieWxpbmUge1xuICAgICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1tZXRhIHAuYnMtcG9zdC1ieWxpbmUgc3Bhbi5hdmF0YXIgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LW1ldGEgcC5icy1wb3N0LWNhdHMge1xuICAgICAgICAgIG9yZGVyOiAzOyB9XG4gICAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSBwLmJzLXBvc3QtY29tbWVudHMge1xuICAgICAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1mb290ZXIgYSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKioqKiA3LiBQT1JURk9MSU8gU1RZTEVTICoqKiovXG4vKioqKiA4LiBTRVJWSUNFUyBTVFlMRVMgKioqKi9cbi8qKioqIDkuIFNUQUZGIFNUWUxFUyAqKioqL1xuLyogU2luZ2xlIFN0YWZmIEl0ZW0gU3R5bGVzICovXG4uc2luZ2xlLXN0YWZmIC5tYWluLWNvbnRlbnQgLnN0YWZmLWZlYXR1cmVkLWltYWdlIHtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICBtYXgtd2lkdGg6IDIwLjYyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNpbmdsZS1zdGFmZiAubWFpbi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpbmdsZS1zdGFmZiAubWFpbi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTsgfVxuICAgIC5zaW5nbGUtc3RhZmYgLm1haW4tY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTsgfVxuICAgIC5zaW5nbGUtc3RhZmYgLm1haW4tY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnLCc7IH1cbiAgICAuc2luZ2xlLXN0YWZmIC5tYWluLWNvbnRlbnQgdWwuc3RhZmYtY2F0ZWdvcnkgbGkuY2F0LW5hbWU6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuXG4vKiBTdGFmZiBTaG9ydGNvZGUgU3R5bGVzICovXG4uc3RhZmZzLXdyYXBwZXIgLnN0YWZmLWZpbHRlci10b2dnbGUge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RhZmZzLXdyYXBwZXIgLnN0YWZmLWZpbHRlci10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc3RhZmZzLXdyYXBwZXIgLnN0YWZmLWZpbHRlci10b2dnbGUgYSB7XG4gICAgYmFja2dyb3VuZDogIzJjMmI3OTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMsIC5zdGFmZnMtd3JhcHBlciB1bFtpZCo9XCJmaWx0ZXJzLVwiXSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAtMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycywgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7IH0gfVxuICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycyBsaSwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycyBsaSwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMgbGkgYSwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIGEge1xuICAgICAgYmFja2dyb3VuZDogIzJjMmI3OTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC45Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycyBsaSBhLmFjdGl2ZSwgLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMgbGkgYTpob3ZlciwgLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMgbGkgYTpmb2N1cywgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIGEuYWN0aXZlLCAuc3RhZmZzLXdyYXBwZXIgdWxbaWQqPVwiZmlsdGVycy1cIl0gbGkgYTpob3ZlciwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3OyB9XG5cbi5zdGFmZnMtd3JhcHBlciAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLXRodW1ibmFpbCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnN0YWZmcy13cmFwcGVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtdGh1bWJuYWlsIGEgaW1nIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG5cbi5zdGFmZnMtd3JhcHBlciAuc2luZ2xlLXN0YWZmLWl0ZW06aG92ZXIgLnN0YWZmLXRodW1ibmFpbCBhIGltZywgLnN0YWZmcy13cmFwcGVyIC5zaW5nbGUtc3RhZmYtaXRlbTpmb2N1cyAuc3RhZmYtdGh1bWJuYWlsIGEgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuXG4uc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZC5ncmlkLWNvbHMtMSAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZC5ncmlkLWNvbHMtMiAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0yIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0zIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMzJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0zIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTMgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTQgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgd2lkdGg6IDI1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy00IC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy00IC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTQgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAwIC0yLjVyZW0gLTIuNXJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dDsgfVxuICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbmsge1xuICAgICAgY3Vyc29yOiBucy1yZXNpemU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluay5iaW8taGlkZGVuIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0gLnNpbmdsZS1zdGFmZi1saW5rIHNlY3Rpb24uc3RhZmYtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbmsgc2VjdGlvbi5zdGFmZi1jb250ZW50IC5zdGFmZi1leGNlcnB0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMzIsIDM5LCAwLjg3KTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluayBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgLnN0YWZmLWV4Y2VycHQgcCB7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluayBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgLnN0YWZmLWV4Y2VycHQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluayBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgLnN0YWZmLWV4Y2VycHQ6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0gLnNpbmdsZS1zdGFmZi1saW5rIHNlY3Rpb24uc3RhZmYtY29udGVudCBpbWcuc3RhZmYtdGh1bWJuYWlsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbmsgc2VjdGlvbi5zdGFmZi1tZXRhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgICAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0gLnNpbmdsZS1zdGFmZi1saW5rIHNlY3Rpb24uc3RhZmYtbWV0YSBoNC5zdGFmZi10aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICM2NDIwMjcgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJtcnMtZWF2ZXNcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgd29yZC1zcGFjaW5nOiAwLjE4NzVyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluayBzZWN0aW9uLnN0YWZmLW1ldGEgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluayBzZWN0aW9uLnN0YWZmLW1ldGEgdWwuc3RhZmYtY2F0ZWdvcnkgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwibXJzLWVhdmVzXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbms6aG92ZXIgc2VjdGlvbi5zdGFmZi1jb250ZW50IC5zdGFmZi1leGNlcnB0LCAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0gLnNpbmdsZS1zdGFmZi1saW5rOmZvY3VzIHNlY3Rpb24uc3RhZmYtY29udGVudCAuc3RhZmYtZXhjZXJwdCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbms6aG92ZXIgc2VjdGlvbi5zdGFmZi1jb250ZW50OmJlZm9yZSwgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluazpmb2N1cyBzZWN0aW9uLnN0YWZmLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluazpob3ZlciBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgaDQuc3RhZmYtdGl0bGUsIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbms6Zm9jdXMgc2VjdGlvbi5zdGFmZi1jb250ZW50IGg0LnN0YWZmLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIC5zaW5nbGUtc3RhZmYtbGluazpob3ZlciBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgdWwuc3RhZmYtY2F0ZWdvcnksIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc2luZ2xlLXN0YWZmLWxpbms6Zm9jdXMgc2VjdGlvbi5zdGFmZi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuXG4uc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtdGh1bWJuYWlsIHtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogMTguNzVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtdGh1bWJuYWlsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi10aHVtYm5haWwgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLWNvbnRlbnQge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4Ljc1cmVtKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLWNvbnRlbnQgcC5zdGFmZi1tZXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCBwLnN0YWZmLW1ldGEgaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICAgICAgICB3aWR0aDogMS4yNXJlbTsgfVxuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEuNDM3NXJlbTsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IGxpLmNhdC1uYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IGxpLmNhdC1uYW1lOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCc7IH1cbiAgICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IGxpLmNhdC1uYW1lOmxhc3Qtb2YtdHlwZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLWNvbnRlbnQgLnN0YWZmLXJlYWQtbW9yZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qKioqIDEwLiA0MDQgUEFHRSBTVFlMRVMgKioqKi9cbi5lcnJvcjQwNCAubWFpbi13cmFwLm5vLXNpZGViYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZXJyb3I0MDQgLm1haW4td3JhcC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qKioqIDExLiBGT09URVIgU1RZTEVTICoqKiovXG5mb290ZXIuZm9vdGVyIC53aWRnZXQge1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICBmb290ZXIuZm9vdGVyIC53aWRnZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICBmb290ZXIuZm9vdGVyIC53aWRnZXQ6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIGZvb3Rlci5mb290ZXIgLndpZGdldCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5mb290ZXIuZm9vdGVyIGg2IHtcbiAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuZm9vdGVyLmZvb3RlciB1bC5tZW51IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBmb290ZXIuZm9vdGVyIHVsLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBmb290ZXIuZm9vdGVyIHVsLm1lbnUgbGkgYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBmb290ZXIuZm9vdGVyIHVsLm1lbnUgbGkuaXMtYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cCAuYnMtcG9wdXAtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG5kaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgcGFkZGluZzogMS44NzVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMzcuNXJlbTtcbiAgei1pbmRleDogMTAwMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGgyLCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGgzLCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGg0LCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGg1LCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGg2IHtcbiAgICBjb2xvcjogIzJjMmI3OTsgfVxuICBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIHAge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cCAuYnMtcG9wdXAtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1cmVtO1xuICB6LWluZGV4OiAxMDAxOyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cCAuYnMtcG9wdXAtaGlkZS1mb3JldmVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5kaXYjYnMtc2l0ZXdpZGUtcG9wdXAucG9wdXAtYm90dG9tLWxlZnQgLmJzLXBvcHVwLWlubmVyLCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAucG9wdXAtYm90dG9tLXJpZ2h0IC5icy1wb3B1cC1pbm5lciwgZGl2I2JzLXNpdGV3aWRlLXBvcHVwLnBvcHVwLWJvdHRvbS1mdWxsIC5icy1wb3B1cC1pbm5lciB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLTMuMTI1cmVtO1xuICByaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0b3A6IGF1dG87IH1cblxuZGl2I2JzLXNpdGV3aWRlLXBvcHVwLnBvcHVwLWJvdHRvbS1yaWdodCAuYnMtcG9wdXAtaW5uZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTMuMTI1cmVtOyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cC5wb3B1cC1ib3R0b20tZnVsbCAuYnMtcG9wdXAtaW5uZXIge1xuICBsZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG5kaXYjaW5zdGFmZWVkLmhhcy1hcnJvd3Mge1xuICBwYWRkaW5nOiAwIDEuODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgZGl2I2luc3RhZmVlZC5oYXMtYXJyb3dzIC5zbGljay1hcnJvdyB7XG4gICAgYmFja2dyb3VuZDogIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBkaXYjaW5zdGFmZWVkLmhhcy1hcnJvd3MgLnNsaWNrLWFycm93OmhvdmVyLCBkaXYjaW5zdGFmZWVkLmhhcy1hcnJvd3MgLnNsaWNrLWFycm93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYzIwMjc7IH1cbiAgICBkaXYjaW5zdGFmZWVkLmhhcy1hcnJvd3MgLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICAgICAgbGVmdDogMDsgfVxuICAgIGRpdiNpbnN0YWZlZWQuaGFzLWFycm93cyAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogMDsgfVxuXG5kaXYjaW5zdGFmZWVkIGEuaW5zdGFncmFtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2Ugc3Bhbi5pZy1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5O1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgZGl2I2luc3RhZmVlZCBhLmluc3RhZ3JhbS1pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2U6aG92ZXIgc3Bhbi5pZy1jYXB0aW9uLCBkaXYjaW5zdGFmZWVkIGEuaW5zdGFncmFtLWltYWdlOmZvY3VzIHNwYW4uaWctY2FwdGlvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgZGl2I2luc3RhZmVlZCBhLmluc3RhZ3JhbS1pbWFnZTpob3ZlciBpbWcsIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2U6Zm9jdXMgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG5cbmRpdiNpbnN0YWZlZWQgLnNsaWNrLWxpc3QuZHJhZ2dhYmxlIHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyB9XG4gIGRpdiNpbnN0YWZlZWQgLnNsaWNrLWxpc3QuZHJhZ2dhYmxlIC5zbGljay1zbGlkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwuc2xpY2stZG90cyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICB1bC5zbGljay1kb3RzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDAgMC4zMTI1cmVtO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHdpZHRoOiAwLjg3NXJlbTsgfVxuICAgIHVsLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDE7IH1cblxuYm9keS5wcm9kdWN0LWZpbHRlcnMtdmlzaWJsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyLCBkaXYud29vY29tbWVyY2UgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4MzgzYTQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCwgZGl2Lndvb2NvbW1lcmNlIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAuc2VsZWN0Mi1jb250YWluZXIgdWwuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc2VsZWN0Mi1jb250YWluZXIgdWwuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIGxpLCBkaXYud29vY29tbWVyY2UgLnNlbGVjdDItY29udGFpbmVyIHVsLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSBzcGFuLnJlcXVpcmVkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLnJlcXVpcmVkLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjZWMyMDI3ICFpbXBvcnRhbnQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZzpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdGFyLXJhdGluZzpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAuc3Rhci1yYXRpbmc6YmVmb3JlIHtcbiAgY29sb3I6ICNiOTljMDA7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyBzcGFuLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3Rhci1yYXRpbmcgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IHN0YXIgIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLnN0YXItcmF0aW5nIHNwYW46YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3Rhci1yYXRpbmcgc3BhbjpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAuc3Rhci1yYXRpbmcgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjYjk5YzAwICFpbXBvcnRhbnQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBwLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgZGl2Lndvb2NvbW1lcmNlIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyLCBkaXYud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMi41cmVtKTsgfSB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIsIGRpdi53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAxcmVtIDAgIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgc3Bhbi5zZXBhcmF0b3IsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBkaXYud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgc3Bhbi5zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwLjYyNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50LCBkaXYud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDUxLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC50b2dnbGUtc2hvcC1maWx0ZXJzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAudG9nZ2xlLXNob3AtZmlsdGVycywgZGl2Lndvb2NvbW1lcmNlIC50b2dnbGUtc2hvcC1maWx0ZXJzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMC45Mzc1cmVtO1xuICB0b3A6IDAuNTYyNXJlbTtcbiAgei1pbmRleDogMTAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC50b2dnbGUtc2hvcC1maWx0ZXJzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAudG9nZ2xlLXNob3AtZmlsdGVycywgZGl2Lndvb2NvbW1lcmNlIC50b2dnbGUtc2hvcC1maWx0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyLCBkaXYud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlcjogMC42MjVyZW0gZG91YmxlICMyYzJiNzk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLnByb2R1Y3QtZmVhdHVyZWQtaW1hZ2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5wcm9kdWN0LWZlYXR1cmVkLWltYWdlLCBkaXYud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLnByb2R1Y3QtZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5wcm9kdWN0LWZlYXR1cmVkLWltYWdlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAucHJvZHVjdC1mZWF0dXJlZC1pbWFnZSwgZGl2Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5wcm9kdWN0LWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCwgZGl2Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSA1JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA2Ni42NjY2JTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQsIGRpdi53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1wcm9kdWN0LXRpdGxlIGgzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtcHJvZHVjdC10aXRsZSBoMywgZGl2Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1wcm9kdWN0LXRpdGxlIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtcHJvZHVjdC10aXRsZSBoMyBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtcHJvZHVjdC10aXRsZSBoMyBhLCBkaXYud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLXByb2R1Y3QtdGl0bGUgaDMgYSB7XG4gICAgICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1wcm9kdWN0LWV4Y2VycHQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1wcm9kdWN0LWV4Y2VycHQsIGRpdi53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtcHJvZHVjdC1leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1hZGQtdG8tY2FydCBwLnByb2R1Y3Qge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtYWRkLXRvLWNhcnQgcC5wcm9kdWN0ID4gKiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCA+ICosIGRpdi53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtYWRkLXRvLWNhcnQgcC5wcm9kdWN0ID4gKiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbTsgfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudDpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1hZGQtdG8tY2FydCBwLnByb2R1Y3Qgc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQ6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdQcmljZTogJztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtYWRkLXRvLWNhcnQgcC5wcm9kdWN0IGEuYnV0dG9uOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCBhLmJ1dHRvbjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCBhLmJ1dHRvbjpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJzLWZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIgLmVudHJ5LWNvbnRlbnQgLmJzLWFkZC10by1jYXJ0IHAucHJvZHVjdCBhLmJ1dHRvbjpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIC5icy1mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWlubmVyIC5lbnRyeS1jb250ZW50IC5icy1hZGQtdG8tY2FydCBwLnByb2R1Y3QgYS5idXR0b246aG92ZXIsIGRpdi53b29jb21tZXJjZSAuYnMtZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbm5lciAuZW50cnktY29udGVudCAuYnMtYWRkLXRvLWNhcnQgcC5wcm9kdWN0IGEuYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlIHtcbiAgcGFkZGluZzogMS41NjI1cmVtIDAuOTM3NXJlbSAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAwLjkzNzVyZW0gMS4yNXJlbTsgfSB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSBoMSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgaDEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwiZ2xvc3MtYmxvb21cIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgaDEgaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgaDEgaSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlIGgxIGkge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZS5zaG9wLWxheW91dC1uYXJyb3ctY29udGVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZS5zaG9wLWxheW91dC1uYXJyb3ctY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNTEuODc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFydGljbGUubWFpbi1jb250ZW50Lndvb2NvbW1lcmNlLWluZGV4LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgge1xuICAgIG9yZGVyOiAyOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciB7XG4gICAgb3JkZXI6IDE7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyIGEuY2xvc2UtZmlsdGVycywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyIGEuY2xvc2UtZmlsdGVycywgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciBhLmNsb3NlLWZpbHRlcnMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAuMTI1cmVtIDAuMTI1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDcuNjg3NXJlbSk7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNy42ODc1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhci5pcy1hY3RpdmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhci5pcy1hY3RpdmUsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIuaXMtYWN0aXZlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciBhLmNsb3NlLWZpbHRlcnMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciBhLmNsb3NlLWZpbHRlcnMsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIgYS5jbG9zZS1maWx0ZXJzIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItcmlnaHQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1yaWdodCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1yaWdodCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gIG9yZGVyOiAxOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItcmlnaHQgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItcmlnaHQgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLXJpZ2h0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciB7XG4gIG9yZGVyOiAyOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LWZ1bGwtd2lkdGggYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtZnVsbC13aWR0aCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtZnVsbC13aWR0aCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50IGFydGljbGUubWFpbi1jb250ZW50Lndvb2NvbW1lcmNlLWluZGV4IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIsIGRpdi53b29jb21tZXJjZSBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmRleCBoMS5wYWdlLXRpdGxlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5kZXggaDEucGFnZS10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmRleCBoMS5wYWdlLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIGgyLndvb2NvbW1lcmNlLXBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDEuODc1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGgyLndvb2NvbW1lcmNlLXBhZ2UtdGl0bGUgKyBwLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSArIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCBkaXYud29vY29tbWVyY2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSArIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEzLjc1cmVtOyB9IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cywgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTEuODc1cmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDY1MzYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkgPiBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpID4gYSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkgPiBhIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgLmltYWdlLXdyYXBwZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkgPiBhIC5pbWFnZS13cmFwcGVyLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkgPiBhIC5pbWFnZS13cmFwcGVyIGltZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgLmltYWdlLXdyYXBwZXIgaW1nLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgLmltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkgPiBhIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICBjb2xvcjogIzAwNjUzNiAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpID4gYSBzcGFuLnByaWNlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpID4gYSBzcGFuLnByaWNlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgc3Bhbi5wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSA+IGEgc3Bhbi5wcmljZSBzcGFuLmFtb3VudCB7XG4gICAgICAgICAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaSBhLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaSBhLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkgYS5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC1jYXRlZ29yeS5wcm9kdWN0ID4gYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QtY2F0ZWdvcnkucHJvZHVjdCA+IGEgPiBoMiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhID4gaDIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QtY2F0ZWdvcnkucHJvZHVjdCA+IGEgPiBoMiB7XG4gICAgY29sb3I6ICMwMDY1MzYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBvcmRlcjogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QtY2F0ZWdvcnkucHJvZHVjdCA+IGEgPiBpbWcsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC1jYXRlZ29yeS5wcm9kdWN0ID4gYSA+IGltZywgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC1jYXRlZ29yeS5wcm9kdWN0ID4gYSA+IGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgb3JkZXI6IDI7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC1jYXRlZ29yeS5wcm9kdWN0ID4gYTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhOmFmdGVyLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhOmFmdGVyIHtcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgIGNvbnRlbnQ6ICdWaWV3IEFsbCc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyLjVyZW07XG4gICAgb3JkZXI6IDM7XG4gICAgcGFkZGluZzogMC40Mzc1cmVtIDEuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QtY2F0ZWdvcnkucHJvZHVjdCA+IGE6aG92ZXI6YWZ0ZXIsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QtY2F0ZWdvcnkucHJvZHVjdCA+IGE6Zm9jdXM6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC1jYXRlZ29yeS5wcm9kdWN0ID4gYTpob3ZlcjphZnRlcixcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhOmZvY3VzOmFmdGVyLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhOmhvdmVyOmFmdGVyLFxuICBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3QgPiBhOmZvY3VzOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGksIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMi44MTI1cmVtIDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkubGFzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLmxhc3QsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5sYXN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5sYXN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5sYXN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkubGFzdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLmxhc3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5sYXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi44MTI1cmVtIDA7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGksIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGksIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGksIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkubGFzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLmxhc3QsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5sYXN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5sYXN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5sYXN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkubGFzdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLmxhc3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5sYXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLmxhc3QgKyBsaS5wcm9kdWN0LmZpcnN0LCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkubGFzdCArIGxpLnByb2R1Y3QuZmlyc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLmxhc3QgKyBsaS5wcm9kdWN0LmZpcnN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkubGFzdCArIGxpLnByb2R1Y3QuZmlyc3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLmxhc3QgKyBsaS5wcm9kdWN0LmZpcnN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkubGFzdCArIGxpLnByb2R1Y3QuZmlyc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAyLjgxMjVyZW0gMCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIGEud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluaywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgYS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkgZGl2LnN0YXItcmF0aW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgZGl2LnN0YXItcmF0aW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgZGl2LnN0YXItcmF0aW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSBkaXYuc3Rhci1yYXRpbmcsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIGRpdi5zdGFyLXJhdGluZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgZGl2LnN0YXItcmF0aW5nLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkgZGl2LnN0YXItcmF0aW5nLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgZGl2LnN0YXItcmF0aW5nLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgZGl2LnN0YXItcmF0aW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSAuaW1hZ2Utd3JhcHBlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIC5pbWFnZS13cmFwcGVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmltYWdlLXdyYXBwZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIC5pbWFnZS13cmFwcGVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaSAuaW1hZ2Utd3JhcHBlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmltYWdlLXdyYXBwZXIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSAuaW1hZ2Utd3JhcHBlciwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIC5pbWFnZS13cmFwcGVyLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgb3JkZXI6IDM7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSBzcGFuLnByaWNlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgc3Bhbi5wcmljZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpIHNwYW4ucHJpY2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIHNwYW4ucHJpY2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIHNwYW4ucHJpY2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpIHNwYW4ucHJpY2UsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSBzcGFuLnByaWNlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgc3Bhbi5wcmljZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpIHNwYW4ucHJpY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSAuYnV0dG9uLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpIC5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIC5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIC5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpIC5idXR0b24sIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSAuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpIC5idXR0b24ge1xuICAgICAgICBjb2xvcjogI2VjMjAyNyAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIuNXJlbTtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIC5idXR0b246aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSAuYnV0dG9uOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgLmJ1dHRvbjpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIC5idXR0b246Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSAuYnV0dG9uOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmJ1dHRvbjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkgLmJ1dHRvbjpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkgLmJ1dHRvbjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgLmJ1dHRvbjpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgLmJ1dHRvbjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmJ1dHRvbjpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmJ1dHRvbjpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpIC5idXR0b246aG92ZXIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaSAuYnV0dG9uOmZvY3VzLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkgLmJ1dHRvbjpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpIC5idXR0b246Zm9jdXMsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaSAuYnV0dG9uOmhvdmVyLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzJjMmI3OSAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qge1xuICAgICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LXRvcC13cmFwcGVyLCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdC10b3Atd3JhcHBlciwgZGl2Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgc3Bhbi5vbnNhbGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LXRvcC13cmFwcGVyIHNwYW4ub25zYWxlLCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgc3Bhbi5vbnNhbGUge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSwgZGl2Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi5zdW1tYXJ5LmVudHJ5LXN1bW1hcnksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi5zdW1tYXJ5LmVudHJ5LXN1bW1hcnksIGRpdi53b29jb21tZXJjZSAucHJvZHVjdC10b3Atd3JhcHBlciBkaXYuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGUsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSB7XG4gIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMC41cmVtIDAuMDYyNXJlbSAwIDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogYXV0bzsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ub25zYWxlOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciB7XG4gICAgYm9yZGVyOiAxLjA2MjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgbGVmdDogLTEuMDYyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDAuMDYyNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyYzJiNzk7XG4gICAgdG9wOiAwOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzJjMmI3OTtcbiAgICBib3R0b206IDA7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGUsIGRpdi53b29jb21tZXJjZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGVmdDogMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICByaWdodDogYXV0bztcbiAgdG9wOiAwOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGU6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGU6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlOmFmdGVyLCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3Quc2FsZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlOmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMS4wNjI1cmVtOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC5idXR0b24ud2MtYmFja3dhcmQsIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnV0dG9uLndjLWJhY2t3YXJkLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgLmJ1dHRvbi53Yy1iYWNrd2FyZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJ1dHRvbi53Yy1iYWNrd2FyZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkLCBkaXYud29vY29tbWVyY2UgLmJ1dHRvbi53Yy1iYWNrd2FyZCwgZGl2Lndvb2NvbW1lcmNlIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMmMyYjc5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDYuMjVyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMS44NzVyZW0gIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbjpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbi53Yy1iYWNrd2FyZDpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbi53Yy1iYWNrd2FyZDpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5idXR0b24ud2MtYmFja3dhcmQ6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnV0dG9uLndjLWJhY2t3YXJkOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0OmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0OmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b246aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgLmJ1dHRvbjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b24ud2MtYmFja3dhcmQ6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ud2MtYmFja3dhcmQ6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ud2MtYmFja3dhcmQ6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dDpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0OmZvY3VzLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uOmZvY3VzLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkOmZvY3VzLCBkaXYud29vY29tbWVyY2UgLmJ1dHRvbi53Yy1iYWNrd2FyZDpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC5idXR0b24ud2MtYmFja3dhcmQ6Zm9jdXMsIGRpdi53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIHAuZm9ybS1zdWJtaXQgaW5wdXQ6aG92ZXIsIGRpdi53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIHAuZm9ybS1zdWJtaXQgaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNlYzIwMjcgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNlYzIwMjcgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAuYWRkX3RvX2NhcnRfYnV0dG9uLmFqYXhfYWRkX3RvX2NhcnQsXG5odG1sIGJvZHkud29vY29tbWVyY2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydCxcbmh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlLCBkaXYud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0LFxuZGl2Lndvb2NvbW1lcmNlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlIHtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuYWRkX3RvX2NhcnRfYnV0dG9uLmFqYXhfYWRkX3RvX2NhcnQ6YWZ0ZXIsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0OmFmdGVyLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZTphZnRlciwgZGl2Lndvb2NvbW1lcmNlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydDphZnRlcixcbiAgZGl2Lndvb2NvbW1lcmNlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlOmFmdGVyIHtcbiAgICBib3R0b206IDAuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDA2NTM2O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxLjg3NXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0LmFkZGVkOmFmdGVyLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGUuYWRkZWQ6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydC5hZGRlZDphZnRlcixcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGUuYWRkZWQ6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAuYWRkX3RvX2NhcnRfYnV0dG9uLmFqYXhfYWRkX3RvX2NhcnQuYWRkZWQ6YWZ0ZXIsXG4gIGRpdi53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZS5hZGRlZDphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydCArIGEuYWRkZWRfdG9fY2FydCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlICsgYS5hZGRlZF90b19jYXJ0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYWRkX3RvX2NhcnRfYnV0dG9uLmFqYXhfYWRkX3RvX2NhcnQgKyBhLmFkZGVkX3RvX2NhcnQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlICsgYS5hZGRlZF90b19jYXJ0LCBkaXYud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0ICsgYS5hZGRlZF90b19jYXJ0LFxuICBkaXYud29vY29tbWVyY2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGUgKyBhLmFkZGVkX3RvX2NhcnQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNi4yNXJlbSkgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDsgfSB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgaDMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyBoMywgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpIHtcbiAgd2lkdGg6IDMzLjMzMyU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5zYWxlIHNwYW4ub25zYWxlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkuc2FsZSBzcGFuLm9uc2FsZSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXJ0aWNsZS53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5zYWxlIHNwYW4ub25zYWxlIHtcbiAgICBsZWZ0OiAxLjg3NXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpID4gYSBzcGFuLnByaWNlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkgPiBhIHNwYW4ucHJpY2UsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFydGljbGUud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkgPiBhIHNwYW4ucHJpY2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciB7XG4gICAgICB3aWR0aDogMTIuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDsgfSB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgaDYsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyBoNiwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyBoNiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIGg2OmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIGg2OmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyBoNjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjA3YSc7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcywgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBhLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gYSB7XG4gICAgICBjb2xvcjogIzJjMmI3OTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtIGkuY2xvc2UtY2F0LWxpc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSBpLmNsb3NlLWNhdC1saXN0LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtIGkuY2xvc2UtY2F0LWxpc3Qge1xuICAgICAgY29sb3I6ICNlYzIwMjc7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDAuMzEyNXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3Qge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL3NrZXRjaC1kb3duLWFycm93LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgY29sb3I6ICNlYzIwMjcgIWltcG9ydGFudDtcbiAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMC44NzVyZW07XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QuYW5pbWF0ZS1jaGV2cm9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBpLnRvZ2dsZS1jYXQtbGlzdC5hbmltYXRlLWNoZXZyb24sIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBpLnRvZ2dsZS1jYXQtbGlzdC5hbmltYXRlLWNoZXZyb24ge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0LmFuaW1hdGUtY2hldnJvbiB+IGkuY2xvc2UtY2F0LWxpc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0LmFuaW1hdGUtY2hldnJvbiB+IGkuY2xvc2UtY2F0LWxpc3QsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBpLnRvZ2dsZS1jYXQtbGlzdC5hbmltYXRlLWNoZXZyb24gfiBpLmNsb3NlLWNhdC1saXN0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4ge1xuICAgICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNGRkZGRkY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMDYyNXJlbTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4uc2hvdy1jYXRzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuLnNob3ctY2F0cywgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4uc2hvdy1jYXRzIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4gbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4gbGksIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNGRkZGRkY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4gbGkgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiBsaSBhLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzVCNUI1QjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjMxMjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiBsaS5jdXJyZW50LWNhdCA+IGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4gbGkuY3VycmVudC1jYXQgPiBhLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiBsaS5jdXJyZW50LWNhdCA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB7XG4gIG1hcmdpbi10b3A6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFiczpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFiczpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnM6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmFmdGVyLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmZvY3VzLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2VjMjAyNzsgfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmhvdmVyIGEsIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6Zm9jdXMgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmhvdmVyIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpmb2N1cyBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmhvdmVyIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6Zm9jdXMgYSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMgYSB7XG4gICAgICAgICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNmMmYyZjI7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAtMC4xMjVyZW0gMC40Mzc1cmVtICMwMDFlNjE7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VjMjAyNztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTsgfVxuICAgICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6Zm9jdXMgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH0gfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHA6bGFzdC1vZi10eXBlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCBwOmxhc3Qtb2YtdHlwZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHRhYmxlLnNob3BfYXR0cmlidXRlcywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMi53b29jb21tZXJjZS1SZXZpZXdzLXRpdGxlIHNwYW4sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMi53b29jb21tZXJjZS1SZXZpZXdzLXRpdGxlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIGltZy5hdmF0YXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciBpbWcuYXZhdGFyLCBkaXYud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIGltZy5hdmF0YXIge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIC5jb21tZW50LXRleHQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciAuY29tbWVudC10ZXh0LCBkaXYud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIC5jb21tZW50LXRleHQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW46IDAgMCAwIDIuNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIC5jb21tZW50LXRleHQgLnN0YXItcmF0aW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCAuc3Rhci1yYXRpbmcsIGRpdi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCAuc3Rhci1yYXRpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIC5jb21tZW50LXRleHQgcC5tZXRhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCBwLm1ldGEsIGRpdi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCBwLm1ldGEge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciAjcmVwbHktdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNyZXZpZXdfZm9ybV93cmFwcGVyICNyZXBseS10aXRsZSwgZGl2Lndvb2NvbW1lcmNlICNyZXZpZXdzICNyZXZpZXdfZm9ybV93cmFwcGVyICNyZXBseS10aXRsZSB7XG4gIGNvbG9yOiAjMmMyYjc5O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciBwLnN0YXJzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciBwLnN0YXJzLCBkaXYud29vY29tbWVyY2UgI3Jldmlld3MgI3Jldmlld19mb3JtX3dyYXBwZXIgcC5zdGFycyB7XG4gIGNvbG9yOiAjYjk5YzAwOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciBwLnN0YXJzIGE6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciBwLnN0YXJzIGE6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgI3Jldmlld3MgI3Jldmlld19mb3JtX3dyYXBwZXIgcC5zdGFycyBhOmJlZm9yZSB7XG4gICAgY29sb3I6ICNiOTljMDA7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0X21ldGEgc3Bhbi5za3Vfd3JhcHBlciBzdHJvbmcsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0X21ldGEgc3Bhbi5za3Vfd3JhcHBlciBzdHJvbmcsIGRpdi53b29jb21tZXJjZSAucHJvZHVjdF9tZXRhIHNwYW4uc2t1X3dyYXBwZXIgc3Ryb25nIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0X21ldGEgc3Bhbi5wb3N0ZWRfaW4gc3Ryb25nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdF9tZXRhIHNwYW4ucG9zdGVkX2luIHN0cm9uZywgZGl2Lndvb2NvbW1lcmNlIC5wcm9kdWN0X21ldGEgc3Bhbi5wb3N0ZWRfaW4gc3Ryb25nIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0uY2FydCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS5jYXJ0LCBkaXYud29vY29tbWVyY2UgZm9ybS5jYXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLmNhcnQgaW5wdXQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0uY2FydCBpbnB1dCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0uY2FydCBpbnB1dCB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBtaW4taGVpZ2h0OiAyLjc1cmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLmNhcnQgYnV0dG9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLmNhcnQgYnV0dG9uLCBkaXYud29vY29tbWVyY2UgZm9ybS5jYXJ0IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06b25seS1vZi10eXBlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06b25seS1vZi10eXBlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm9ubHktb2YtdHlwZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIC5mbGV4LXZpZXdwb3J0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAuZmxleC12aWV3cG9ydCwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIC5mbGV4LXZpZXdwb3J0IHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzVjNWI1YjsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLmZsZXgtdmlld3BvcnQgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIC5mbGV4LXZpZXdwb3J0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLmZsZXgtdmlld3BvcnQgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2Uge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyYzJiNzk7XG4gIGN1cnNvcjogZ3JhYiAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyBvbC5mbGV4LWNvbnRyb2wtbmF2LmZsZXgtY29udHJvbC10aHVtYnMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icyBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgb2wuZmxleC1jb250cm9sLW5hdi5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgb2wuZmxleC1jb250cm9sLW5hdi5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5LCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAucHdiLXNpbmdsZS1wcm9kdWN0LWJyYW5kcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAucHdiLXNpbmdsZS1wcm9kdWN0LWJyYW5kcywgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgLnB3Yi1zaW5nbGUtcHJvZHVjdC1icmFuZHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgaDIucHJvZHVjdF90aXRsZS5lbnRyeS10aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBoMi5wcm9kdWN0X3RpdGxlLmVudHJ5LXRpdGxlLCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBoMi5wcm9kdWN0X3RpdGxlLmVudHJ5LXRpdGxlIHtcbiAgICBvcmRlcjogMTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24sXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5pdGVtLWRlc2NyaXB0aW9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWRldGFpbHNfX3Nob3J0LWRlc2NyaXB0aW9uLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5pdGVtLWRlc2NyaXB0aW9uLCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbixcbiAgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgLml0ZW0tZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgb3JkZXI6IDI7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAuaXRlbS1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5pdGVtLWRlc2NyaXB0aW9uIHA6bGFzdC1vZi10eXBlLCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSxcbiAgICBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAuaXRlbS1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHAucHJpY2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9yZGVyOiA0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHAucHJpY2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSB7XG4gICAgICAgIHdpZHRoOiA5LjM3NXJlbTsgfSB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSBzdHJvbmcsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSBzdHJvbmcsIGRpdi53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHAucHJpY2Ugc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQsIGRpdi53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgb3JkZXI6IDU7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1MHB4KTsgfSB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IC5xdWFudGl0eSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQgLnF1YW50aXR5LCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQgLnF1YW50aXR5IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5pbnB1dC10ZXh0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQuaW5wdXQtdGV4dCwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCBidXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IGJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IGJ1dHRvbiB7XG4gICAgICBtYXgtaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGEuY29tcGFyZS5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgYS5jb21wYXJlLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgYS5jb21wYXJlLmJ1dHRvbiB7XG4gICAgb3JkZXI6IDY7XG4gICAgd2lkdGg6IDM1JTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgYS5jb21wYXJlLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBhLmNvbXBhcmUuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBhLmNvbXBhcmUuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41cmVtO1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gYXV0byAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5wcm9kdWN0X21ldGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgLnByb2R1Y3RfbWV0YSwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgLnByb2R1Y3RfbWV0YSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgICBvcmRlcjogMztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwIDAuNjI1cmVtOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicy53Yy10YWJzLXdyYXBwZXIsXG5odG1sIGJvZHkud29vY29tbWVyY2UgLnJlbGF0ZWQucHJvZHVjdHMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzLndjLXRhYnMtd3JhcHBlcixcbmh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5yZWxhdGVkLnByb2R1Y3RzLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMud2MtdGFicy13cmFwcGVyLFxuZGl2Lndvb2NvbW1lcmNlIC5yZWxhdGVkLnByb2R1Y3RzIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNTQuMzc1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMsIGRpdi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgIzJjMmI3OSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSwgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxLjg3NXJlbTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkgc3Bhbi5jdXJyZW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkgc3Bhbi5jdXJyZW50LCBkaXYud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIHNwYW4uY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkgYS5wYWdlLW51bWJlcnMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVycywgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVycyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIGEucGFnZS1udW1iZXJzOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIGEucGFnZS1udW1iZXJzOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkgYS5wYWdlLW51bWJlcnM6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAsIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXgtd2lkdGg6IDEyLjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIGlucHV0W3R5cGU9bnVtYmVyXSwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24sIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDgwcHgvMik7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMy4xMjVyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50LCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcbiAgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZDogIzJjMmI3OTtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMi4xODc1cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6Zm9jdXMsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6Zm9jdXMsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlcixcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmZvY3VzLCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6Zm9jdXMsXG4gICAgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIsXG4gICAgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDIuMTg3NXJlbSAwIDAgMi4xODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTEuODc1cmVtKSBhbmQgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtIDAgMCAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtOyB9IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDIuMTg3NXJlbSAyLjE4NzVyZW0gMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUxLjg3NXJlbSkgYW5kIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMS4yNXJlbTsgfSB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDA2NTM2OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LW5hbWUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtbmFtZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtbmFtZSB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcHJpY2UsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcXVhbnRpdHksXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3Qtc3VidG90YWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcHJpY2UsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1xdWFudGl0eSxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LXN1YnRvdGFsLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1wcmljZSxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1xdWFudGl0eSxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1zdWJ0b3RhbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1yZW1vdmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcmVtb3ZlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1yZW1vdmUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogOS4wNjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwge1xuICAgICAgICAgIHdpZHRoOiA2LjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIGEsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwgaW1nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBpbWcsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBpbWcge1xuICAgICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0NXB4KSAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSBhLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1wcmljZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1wcmljZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgcGFkZGluZzogMCAwLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHksIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcXVhbnRpdHkgLnF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2VjMjAyNztcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3Qtc3VidG90YWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3Qtc3VidG90YWwsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1yZW1vdmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcmVtb3ZlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1yZW1vdmUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMi42MjVyZW07IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1yZW1vdmUgYS5yZW1vdmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcmVtb3ZlIGEucmVtb3ZlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1yZW1vdmUgYS5yZW1vdmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0cjpsYXN0LW9mLXR5cGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyOmxhc3Qtb2YtdHlwZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyOmxhc3Qtb2YtdHlwZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgaW5wdXQuaW5wdXQtdGV4dC5xdHkudGV4dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgaW5wdXQuaW5wdXQtdGV4dC5xdHkudGV4dCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IGlucHV0LmlucHV0LXRleHQucXR5LnRleHQge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLnF1YW50aXR5LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAucXVhbnRpdHksIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAucXVhbnRpdHkge1xuICAgIG1heC13aWR0aDogMTIuNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmNvdXBvbiAuYnV0dG9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b24sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgbWF4LWhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmNvdXBvbiAuYnV0dG9uOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmNvdXBvbiAuYnV0dG9uOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b246aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5jb3Vwb24gLmJ1dHRvbjpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5jb3Vwb24gLmJ1dHRvbjpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5jb3Vwb24gLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIGlucHV0I2NvdXBvbl9jb2RlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIGlucHV0I2NvdXBvbl9jb2RlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmNvdXBvbiBpbnB1dCNjb3Vwb25fY29kZSB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgICBtaW4td2lkdGg6IDcuNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0ge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXTpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXTpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl06Zm9jdXMsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXTpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud2MtcHJvY2VlZC10by1jaGVja291dCwgZGl2Lndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHtcbiAgcGFkZGluZzogMDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYS5rZWVwLXNob3BwaW5nLWJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYS5rZWVwLXNob3BwaW5nLWJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEua2VlcC1zaG9wcGluZy1idXR0b24ge1xuICAgIGNvbG9yOiAjMDA2NTM2O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIG1hcmdpbi10b3A6IDMuNzVyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjg3NXJlbSk7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24sIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgIG1pbi13aWR0aDogMTguNzVyZW07XG4gICAgb3JkZXI6IDI7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICB3aWR0aDogNDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiB7XG4gICAgICAgIG1heC13aWR0aDogMTguNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24gbGFiZWwge1xuICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIGlucHV0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIGlucHV0LCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiBpbnB1dCB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24gLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiAuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgIG1pbi13aWR0aDogMTguNzVyZW07XG4gICAgb3JkZXI6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICB3aWR0aDogNDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscywgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB7XG4gICAgICAgIG1heC13aWR0aDogMTguNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIGgyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgaDIsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmMyYjc5O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5jYXJ0LXN1YnRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLnNoaXBwaW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIub3JkZXItdG90YWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5jYXJ0LXN1YnRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuc2hpcHBpbmcsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIub3JkZXItdG90YWwsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuY2FydC1zdWJ0b3RhbCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5zaGlwcGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLmNhcnQtc3VidG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuc2hpcHBpbmcgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuc2hpcHBpbmcgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLm9yZGVyLXRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuY2FydC1zdWJ0b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLmNhcnQtc3VidG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5zaGlwcGluZyB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLnNoaXBwaW5nIHRkLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLm9yZGVyLXRvdGFsIHRoLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLm9yZGVyLXRvdGFsIHRkLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLmNhcnQtc3VidG90YWwgdGgsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5zaGlwcGluZyB0aCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5zaGlwcGluZyB0ZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLnNoaXBwaW5nIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIub3JkZXItdG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuc2hpcHBpbmcgdGQsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIub3JkZXItdG90YWwgdGQsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5zaGlwcGluZyB0ZCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4sIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuY2FydC1zdWJ0b3RhbCB0ZCBzcGFuLCBodG1sIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLnNoaXBwaW5nIHRkIHNwYW4sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuY2FydC1zdWJ0b3RhbCB0ZCBzcGFuLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIuc2hpcHBpbmcgdGQgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLmNhcnQtc3VidG90YWwgdGQgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5zaGlwcGluZyB0ZCBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIC5idXR0b24sIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyBidXR0b24uYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIGJ1dHRvbi5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIGJ1dHRvbi5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbixcbmh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24sXG5odG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLFxuZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjYyNXJlbSBkb3VibGUgIzJjMmI3OSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiA+IHAsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gPiBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uID4gcCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uID4gcCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gPiBwLFxuICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uID4gcCB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC53b29jb21tZXJjZS1mb3JtLWNvdXBvbi10b2dnbGUsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLXRvZ2dsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLXRvZ2dsZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLXRvZ2dsZSxcbiAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdyxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3csIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3csXG4gIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3Qge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3aWR0aDogMTIuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3Qge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IGJ1dHRvbixcbiAgICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IGJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCBidXR0b24sXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IGJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QgYnV0dG9uLFxuICAgICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QgYnV0dG9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gaW5wdXRbdHlwZT1cInRleHRcIl0sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWluLWhlaWdodDogMi40Mzc1cmVtOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAuYmlsbGluZy1zaGlwcGluZy10YWJzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYmlsbGluZy1zaGlwcGluZy10YWJzLCBkaXYud29vY29tbWVyY2UgLmJpbGxpbmctc2hpcHBpbmctdGFicyB7XG4gIGJvcmRlci1jb2xvcjogIzJjMmI3OTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciwgZGl2Lndvb2NvbW1lcmNlIC5iaWxsaW5nLXNoaXBwaW5nLXdyYXBwZXIge1xuICBib3JkZXItY29sb3I6ICMyYzJiNzk7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2Utb3V0OyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIG1hcmdpbi10b3A6IC0wLjA2MjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHNwYW4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24gaW5wdXQuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIGlucHV0LnNlbGVjdDItc2VhcmNoX19maWVsZCwgZGl2Lndvb2NvbW1lcmNlIHNwYW4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24gaW5wdXQuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBib3JkZXItY29sb3I6ICMyYzJiNzk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2Uud29vY29tbWVyY2UtY2hlY2tvdXQgZm9ybS5jaGVja291dF9jb3Vwb24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlLndvb2NvbW1lcmNlLWNoZWNrb3V0IGZvcm0uY2hlY2tvdXRfY291cG9uLCBkaXYud29vY29tbWVyY2Uud29vY29tbWVyY2UtY2hlY2tvdXQgZm9ybS5jaGVja291dF9jb3Vwb24ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZS53b29jb21tZXJjZS1jaGVja291dCBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZS53b29jb21tZXJjZS1jaGVja291dCBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duLCBkaXYud29vY29tbWVyY2Uud29vY29tbWVyY2UtY2hlY2tvdXQgc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIG1hcmdpbi10b3A6IC0wLjgxMjVyZW07IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcywgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyA+IGgzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyA+IGgzLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgPiBoMyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHRleHRhcmVhLCBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLCBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgc2VsZWN0LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIHRleHRhcmVhLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgc2VsZWN0LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgdGV4dGFyZWEsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIHNlbGVjdCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyB0ZXh0YXJlYSxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHNlbGVjdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgdGV4dGFyZWEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgc2VsZWN0LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyB0ZXh0YXJlYSxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBzZWxlY3QsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgdGV4dGFyZWEsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBzZWxlY3QsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHRleHRhcmVhLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHNlbGVjdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIGlucHV0LmlucHV0LXRleHQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyB0ZXh0YXJlYSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHNlbGVjdCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyB0ZXh0YXJlYSxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIHNlbGVjdCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIHRleHRhcmVhLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBzZWxlY3QsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgdGV4dGFyZWEsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBzZWxlY3Qge1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzJjMmI3OSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtaW4taGVpZ2h0OiAyLjQzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIGxhYmVsLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgbGFiZWwsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgbGFiZWwsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgbGFiZWwsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIGxhYmVsLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgbGFiZWwsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGxhYmVsLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgbGFiZWwsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBsYWJlbCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBsYWJlbCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGxhYmVsIHtcbiAgICBjb2xvcjogIzAwNjUzNjtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3csXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3csXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3csXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdyxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdyxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3Qge1xuICAgICAgd2lkdGg6IDQ5LjI1JSAhaW1wb3J0YW50OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cubm90ZXMsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQsIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNzaGlwaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjYmlsbGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjYmlsbGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNzaGlwaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjYmlsbGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCArICNzaGlwaW5nX2FkZHJlc3NfMl9maWVsZCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNzaGlwaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyNzaGlwcGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI2JpbGxpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdyNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjYmlsbGluZ19hZGRyZXNzXzFfZmllbGQgKyAjc2hpcGluZ19hZGRyZXNzXzJfZmllbGQsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93I3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMi41cmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDIuMzc1cmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgbWluLWhlaWdodDogMi4zNzVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHAjYmlsbGluZ19jb3VudHJ5X2ZpZWxkLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgcCNzaGlwcGluZ19jb3VudHJ5X2ZpZWxkLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgcCNzaGlwcGluZ19jb3VudHJ5X2ZpZWxkLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHAjYmlsbGluZ19jb3VudHJ5X2ZpZWxkLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIHAjYmlsbGluZ19jb3VudHJ5X2ZpZWxkLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBwI2JpbGxpbmdfY291bnRyeV9maWVsZCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIHAjc2hpcHBpbmdfY291bnRyeV9maWVsZCxcbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHAjc2hpcHBpbmdfY291bnRyeV9maWVsZCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHAjYmlsbGluZ19jb3VudHJ5X2ZpZWxkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgcCNzaGlwcGluZ19jb3VudHJ5X2ZpZWxkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgcCNzaGlwcGluZ19jb3VudHJ5X2ZpZWxkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMiNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDIjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcywgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMiNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDIjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgyI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDIjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgyI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwgaW5wdXQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMiNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIGxhYmVsIGlucHV0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgyI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDAgMC4xMjVyZW0gMCAwLjYyNXJlbTtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDIjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCBzcGFuLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDIjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCBzcGFuLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgyI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0yLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAjY3VzdG9tZXJfZGV0YWlscyAuY29sLTIsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIHAudGFicy10aXRsZS5jaGVja291dC1jb250LWJ0biwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgcC50YWJzLXRpdGxlLmNoZWNrb3V0LWNvbnQtYnRuLCBkaXYud29vY29tbWVyY2UgcC50YWJzLXRpdGxlLmNoZWNrb3V0LWNvbnQtYnRuIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDEuODc1cmVtIC0xcmVtIDAgMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIGgyI29yZGVyX3Jldmlld19oZWFkaW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBoMiNvcmRlcl9yZXZpZXdfaGVhZGluZywgZGl2Lndvb2NvbW1lcmNlIGgyI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiZ2xvc3MtYmxvb21cIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDEwLjYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNjg3NXJlbSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBoMiNvcmRlcl9yZXZpZXdfaGVhZGluZyBzcGFuLmNoZWNrb3V0LXRpdGxlLWlubmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBoMiNvcmRlcl9yZXZpZXdfaGVhZGluZyBzcGFuLmNoZWNrb3V0LXRpdGxlLWlubmVyLCBkaXYud29vY29tbWVyY2UgaDIjb3JkZXJfcmV2aWV3X2hlYWRpbmcgc3Bhbi5jaGVja291dC10aXRsZS1pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMC42MjVyZW07XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMC4xMjVyZW0gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgaDIjb3JkZXJfcmV2aWV3X2hlYWRpbmcgc3Bhbi5jaGVja291dC10aXRsZS1pbm5lcjphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgaDIjb3JkZXJfcmV2aWV3X2hlYWRpbmcgc3Bhbi5jaGVja291dC10aXRsZS1pbm5lcjphZnRlciwgZGl2Lndvb2NvbW1lcmNlIGgyI29yZGVyX3Jldmlld19oZWFkaW5nIHNwYW4uY2hlY2tvdXQtdGl0bGUtaW5uZXI6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL3NlY3Rpb24taGVhZGluZy11bmRlcmxpbmUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuMzc1cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGhlYWQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aGVhZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMwMDY1MzY7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aGVhZCB0aC5wcm9kdWN0LW5hbWUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQgdGgucHJvZHVjdC10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aGVhZCB0aC5wcm9kdWN0LW5hbWUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aGVhZCB0aC5wcm9kdWN0LXRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkIHRoLnByb2R1Y3QtbmFtZSxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkIHRoLnByb2R1Y3QtdG90YWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aGVhZCB0aC5wcm9kdWN0LW5hbWUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtdG90YWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkIHRoLnByb2R1Y3QtbmFtZSxcbiAgICBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aGVhZCB0aC5wcm9kdWN0LXRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtbmFtZSxcbiAgICBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtdG90YWwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHksIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHksIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkge1xuICAgIGJvcmRlcjogMDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0aCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRpdGxlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50LFxuICAgIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQsXG4gICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZywgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGg6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGg6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZDpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQ6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGg6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQ6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZDpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGg6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0aDpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGQ6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZDpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQ6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGg6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGQ6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGg6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQ6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZDpiZWZvcmUsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGQ6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0aDpiZWZvcmUsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0aDpiZWZvcmUsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGQ6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRoOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZDpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogIzAwNjUzNjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCBzcGFuLmFtb3VudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGQgc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCBzcGFuLmFtb3VudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQgc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGggc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGQgc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGggc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQgc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCBzcGFuLmFtb3VudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCBzcGFuLmFtb3VudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQgc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCBzcGFuLmFtb3VudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4uYW1vdW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGggc3Bhbi5hbW91bnQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCBzcGFuLmFtb3VudCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCBzcGFuLmFtb3VudCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCBzcGFuLmFtb3VudCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGggc3Bhbi5hbW91bnQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0aCBzcGFuLmFtb3VudCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQgc3Bhbi5hbW91bnQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCBzcGFuLmFtb3VudCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRoIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkIHNwYW4uYW1vdW50IHtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0aCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0aCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGggc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRoIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLm9yZGVyLXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1zdWJ0b3RhbCB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtc3VidG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIub3JkZXItdG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGgge1xuICAgICAgICBjb2xvcjogIzAwNjUzNjtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQgdWwud29vY29tbWVyY2Utc2hpcHBpbmctbWV0aG9kcyBsaSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCB1bC53b29jb21tZXJjZS1zaGlwcGluZy1tZXRob2RzIGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkIHVsLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCB1bC53b29jb21tZXJjZS1zaGlwcGluZy1tZXRob2RzIGxpLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCB1bC53b29jb21tZXJjZS1zaGlwcGluZy1tZXRob2RzIGxpLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkIHVsLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCB1bC53b29jb21tZXJjZS1zaGlwcGluZy1tZXRob2RzIGxpIGxhYmVsLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkIHVsLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgbGkgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQgdWwud29vY29tbWVyY2Utc2hpcHBpbmctbWV0aG9kcyBsaSBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLnNoaXBwaW5nIHRkIHVsLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgbGkgbGFiZWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkIHVsLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgbGkgbGFiZWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQgdWwud29vY29tbWVyY2Utc2hpcHBpbmctbWV0aG9kcyBsaSBsYWJlbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLnNoaXBwaW5nIHRkIHAud29vY29tbWVyY2Utc2hpcHBpbmctZGVzdGluYXRpb24sIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQgcC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5zaGlwcGluZyB0ZCBwLndvb2NvbW1lcmNlLXNoaXBwaW5nLWRlc3RpbmF0aW9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuc2hpcHBpbmcgdGQgcC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuc2hpcHBpbmcgdGQgcC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5zaGlwcGluZyB0ZCBwLndvb2NvbW1lcmNlLXNoaXBwaW5nLWRlc3RpbmF0aW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3Qge1xuICAgIGJvcmRlci1jb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ciB0ZCBzcGFuLmFtb3VudCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ciB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyIHRkIHNwYW4uYW1vdW50LFxuICAgIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ciB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5zaGlwcGluZyB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLnNoaXBwaW5nIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5zaGlwcGluZyB0ZCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLnRheC10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci50YXgtdG90YWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci50YXgtdG90YWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzkgIWltcG9ydGFudDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci50YXgtdG90YWwgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLnRheC10b3RhbCB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci50YXgtdG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci50YXgtdG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLnRheC10b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci50YXgtdG90YWwgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHRkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5vcmRlci10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5vcmRlci10b3RhbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5vcmRlci10b3RhbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgY29sb3I6ICMyYzJiNzk7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50LFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5vcmRlci10b3RhbCB0ZCBzdHJvbmcgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCB0ZCBzdHJvbmcgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCB0ZCBzdHJvbmcgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICAgIGNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICAgIGNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ciB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIgdGQge1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMC43NXJlbTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIHAsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIGEuc2hpcHBpbmctY2FsY3VsYXRvci1idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgYS5zaGlwcGluZy1jYWxjdWxhdG9yLWJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgYS5zaGlwcGluZy1jYWxjdWxhdG9yLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdywgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZzogMDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5zZWxlY3QyLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgbWluLWhlaWdodDogMi42MjVyZW07IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24sIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmMyYjc5O1xuICAgICAgbWluLWhlaWdodDogMi42MjVyZW07IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgICBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICBsaW5lLWhlaWdodDogMi42MjVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjYyNXJlbTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLmlucHV0LXRleHQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5pbnB1dC10ZXh0LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLmlucHV0LXRleHQge1xuICAgIGJvcmRlci1jb2xvcjogIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgYm94LXNoYWRvdzogMDsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIGJ1dHRvbi5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBidXR0b24uYnV0dG9uLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIGJ1dHRvbi5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRoZWFkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0aGVhZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRoZWFkIHtcbiAgYm9yZGVyOiAwOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0aGVhZCB0ciB0aCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGhlYWQgdHIgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogMDsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGJvZHksIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGJvZHksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGJvZHksIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB7XG4gIGJvcmRlcjogMDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGJvZHkgdHIgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Ym9keSB0ciB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdHIgdGQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRib2R5IHRyIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Ym9keSB0ciB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdHIgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGJvZHkgdHIgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Ym9keSB0ciB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdHIgdGQge1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Ym9keSB0ciB0ZCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGJvZHkgdHIgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLmNhcnQtc3VidG90YWwgdGgsIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ci5jYXJ0LXN1YnRvdGFsIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ci5jYXJ0LXN1YnRvdGFsIHRkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdHIuY2FydC1zdWJ0b3RhbCB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLmNhcnQtc3VidG90YWwgdGQge1xuICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjMDA2NTM2O1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ci53b29jb21tZXJjZS1zaGlwcGluZy10b3RhbHMuc2hpcHBpbmcgdGQgdWwgbGksIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscy5zaGlwcGluZyB0ZCB1bCBsaSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscy5zaGlwcGluZyB0ZCB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscy5zaGlwcGluZyB0ZCB1bCBsaSBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscy5zaGlwcGluZyB0ZCB1bCBsaSBsYWJlbCBzcGFuLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ci53b29jb21tZXJjZS1zaGlwcGluZy10b3RhbHMuc2hpcHBpbmcgdGQgdWwgbGkgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscy5zaGlwcGluZyB0ZCB1bCBsaSBsYWJlbCBzcGFuLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdHIud29vY29tbWVyY2Utc2hpcHBpbmctdG90YWxzLnNoaXBwaW5nIHRkIHVsIGxpIGxhYmVsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QgdHIud29vY29tbWVyY2Utc2hpcHBpbmctdG90YWxzLnNoaXBwaW5nIHRkIHVsIGxpIGxhYmVsIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyIHRoLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB0ciB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHRyIHRoIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHtcbiAgYmFja2dyb3VuZDogIzJjMmI3OTsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMsXG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyxcbiAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMge1xuICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgPiBsaSA+IGxhYmVsLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyA+IGxpID4gbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgPiBsaSA+IGxhYmVsLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyA+IGxpID4gbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyA+IGxpID4gbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgPiBsaSA+IGxhYmVsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgPiBsaSA+IGxhYmVsLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzID4gbGkgPiBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyA+IGxpID4gbGFiZWwsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzID4gbGkgPiBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyA+IGxpID4gbGFiZWwsXG4gICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzID4gbGkgPiBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBkaXYucGF5bWVudF9ib3ggcCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgZGl2LnBheW1lbnRfYm94IHAsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgZGl2LnBheW1lbnRfYm94IHAsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGRpdi5wYXltZW50X2JveCBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgZGl2LnBheW1lbnRfYm94IHAsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgZGl2LnBheW1lbnRfYm94IHAsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBkaXYucGF5bWVudF9ib3ggcCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBkaXYucGF5bWVudF9ib3ggcCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBkaXYucGF5bWVudF9ib3ggcCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgZGl2LnBheW1lbnRfYm94IHAsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgZGl2LnBheW1lbnRfYm94IHAsXG4gICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGRpdi5wYXltZW50X2JveCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBhLmFib3V0X3BheXBhbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgYS5hYm91dF9wYXlwYWwsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgYS5hYm91dF9wYXlwYWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGEuYWJvdXRfcGF5cGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgYS5hYm91dF9wYXlwYWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgYS5hYm91dF9wYXlwYWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBhLmFib3V0X3BheXBhbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBhLmFib3V0X3BheXBhbCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBhLmFib3V0X3BheXBhbCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgYS5hYm91dF9wYXlwYWwsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgYS5hYm91dF9wYXlwYWwsXG4gICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGEuYWJvdXRfcGF5cGFsIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCxcbiAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxLjU2MjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxLjI1cmVtOyB9IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3ggcCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveCBwLCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3ggcCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveCBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveCBwLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3ggcCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3ggcCxcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94IHAsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveCBwLFxuICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94IHAsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveCBwLFxuICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94IHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLFxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsXG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLFxuICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZTpiZWZvcmUsXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSxcbiAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMWVtIHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kLFxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDAgIWltcG9ydGFudDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93LCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyxcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csXG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdywgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csXG4gICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93IHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93IGxhYmVsLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jYXJkLWVsZW1lbnQsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jYXJkLWVsZW1lbnQsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50IHtcbiAgICAgICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAge1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhLCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1zaGFkb3c6IDAuMTI1cmVtIDAuMDYyNXJlbSAwICMyYzJiNzk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmFmdGVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYjc5O1xuICAgICAgICBib3R0b206IDAuMTI1cmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmhvdmVyOmFmdGVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6aG92ZXI6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6aG92ZXI6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0LCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0LCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGEsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYSwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LXNoYWRvdzogMC4xMjVyZW0gMC4wNjI1cmVtIDAgIzJjMmI3OTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhOmFmdGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgICAgIGJvdHRvbTogMC4xMjVyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6aG92ZXI6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTpob3ZlcjphZnRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6aG92ZXI6YWZ0ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhOmhvdmVyOmFmdGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6aG92ZXI6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTpob3ZlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIge1xuICAgIGJhY2tncm91bmQ6ICMyYzJiNzk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAuMzc1cmVtIDAuMzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAuZm9ybS1yb3cudmFsaWRhdGUtcmVxdWlyZWQgbGFiZWwgaW5wdXQsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCBsYWJlbCBpbnB1dCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAuZm9ybS1yb3cudmFsaWRhdGUtcmVxdWlyZWQgbGFiZWwgaW5wdXQsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLmZvcm0tcm93LnZhbGlkYXRlLXJlcXVpcmVkIGxhYmVsIGlucHV0LCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAuZm9ybS1yb3cudmFsaWRhdGUtcmVxdWlyZWQgbGFiZWwgaW5wdXQsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCBsYWJlbCBpbnB1dCB7XG4gICAgICBtYXJnaW46IC0wLjI1cmVtIDAuNXJlbSAwIDA7IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAuZm9ybS1yb3cudmFsaWRhdGUtcmVxdWlyZWQgbGFiZWwgc3BhbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLmZvcm0tcm93LnZhbGlkYXRlLXJlcXVpcmVkIGxhYmVsIHNwYW4sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLmZvcm0tcm93LnZhbGlkYXRlLXJlcXVpcmVkIGxhYmVsIHNwYW4sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLmZvcm0tcm93LnZhbGlkYXRlLXJlcXVpcmVkIGxhYmVsIHNwYW4sIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCBsYWJlbCBzcGFuLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAuZm9ybS1yb3cudmFsaWRhdGUtcmVxdWlyZWQgbGFiZWwgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLmZvcm0tcm93LnZhbGlkYXRlLXJlcXVpcmVkIGxhYmVsIHNwYW4ucmVxdWlyZWQsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCBsYWJlbCBzcGFuLnJlcXVpcmVkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCBsYWJlbCBzcGFuLnJlcXVpcmVkLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAuZm9ybS1yb3cucGxhY2Utb3JkZXIgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCBsYWJlbCBzcGFuLnJlcXVpcmVkLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHAuZm9ybS1yb3cudmFsaWRhdGUtcmVxdWlyZWQgbGFiZWwgc3Bhbi5yZXF1aXJlZCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciBwLmZvcm0tcm93LnZhbGlkYXRlLXJlcXVpcmVkIGxhYmVsIHNwYW4ucmVxdWlyZWQge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpmb2N1cywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyOmhvdmVyLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6Zm9jdXMsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6aG92ZXIsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6Zm9jdXMsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6aG92ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhyZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLnJldHVybi10by1zaG9wLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3Age1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJjMmI3OSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcDpob3ZlciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLnJldHVybi10by1zaG9wOmZvY3VzLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcDpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcDpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcDpmb2N1cywgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcDpob3ZlciwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGh0bWwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLnJldHVybi10by1zaG9wLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLnJldHVybi10by1zaG9wLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLnJldHVybi10by1zaG9wIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIGRpdiNwYXltZW50Lndvb2NvbW1lcmNlLVBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgKyBkaXYuZm9ybS1yb3csIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdiNwYXltZW50Lndvb2NvbW1lcmNlLVBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgKyBkaXYuZm9ybS1yb3csIGRpdi53b29jb21tZXJjZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzICsgZGl2LmZvcm0tcm93IHtcbiAgYmFja2dyb3VuZDogIzJjMmI3OTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgZGl2I3BheW1lbnQud29vY29tbWVyY2UtUGF5bWVudCAuYWJvdXRfcGF5cGFsLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IC5hYm91dF9wYXlwYWwsIGRpdi53b29jb21tZXJjZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IC5hYm91dF9wYXlwYWwge1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzJjMmI3OTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMi44MTI1cmVtO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyAqLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyAqLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gKiB7XG4gICAgY29sb3I6ICMyYzJiNzk7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlIHtcbiAgICBjb2xvcjogIzJjMmI3OTtcbiAgICBsZWZ0OiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gLmNsZWFyLW5vdGljZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8gLmNsZWFyLW5vdGljZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIC5jbGVhci1ub3RpY2Uge1xuICAgIGNvbG9yOiByZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiA1MDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAyLjgxMjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgICAgIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8uaGlkZS1ub3RpY2UsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvLmhpZGUtbm90aWNlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8uaGlkZS1ub3RpY2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXRfY291cG9uLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLmhpZGUtbm90aWNlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLmNoZWNrb3V0X2NvdXBvbi53b29jb21tZXJjZS1mb3JtLWNvdXBvbi5oaWRlLW5vdGljZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXRfY291cG9uLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLmhpZGUtbm90aWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8sIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbSAwLjkzNzVyZW0gMi44MTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvciBhLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIGEuYnV0dG9uLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UgYS5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvciBhLmJ1dHRvbiwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8gYS5idXR0b24sIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlIGEuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yIGEuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gYS5idXR0b24sIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3I6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3I6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDY1MzY7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSBhIHtcbiAgICBjb2xvcjogIzAwNjUzNjsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMwMDY1MzY7IH1cblxuaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvciwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgYm9yZGVyOiAwLjYyNXJlbSBkb3VibGUgI2VjMjAyNzsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yIGxpLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3IgbGksIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IgbGkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIGh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IgYSwgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IgYSB7XG4gICAgY29sb3I6ICNlYzIwMjc7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjpiZWZvcmUsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvcjpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3I6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWMyMDI3OyB9XG5cbmh0bWwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbywgaHRtbCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8sIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM4MzgzYTQ7IH1cbiAgaHRtbCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIGEsIGh0bWwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyBhIHtcbiAgICBjb2xvcjogIzgzODNhNDsgfVxuICBodG1sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICM4MzgzYTQ7IH1cblxuLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgaGVhZGVyLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgaDEuZW50cnktdGl0bGUgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgaGVhZGVyLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgZGl2LnByb2R1Y3QtbWV0YSA+IHAge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IGhlYWRlci53b29jb21tZXJjZS1zaG9wLXRpdGxlIGRpdi5wcm9kdWN0LW1ldGEgc3Bhbi5jYXRlZ29yeS1uYW1lOmFmdGVyIHtcbiAgY29udGVudDogJywgJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogcHJlOyB9XG5cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IGhlYWRlci53b29jb21tZXJjZS1zaG9wLXRpdGxlIGRpdi5wcm9kdWN0LW1ldGEgc3Bhbi5jYXRlZ29yeS1uYW1lOmxhc3Qtb2YtdHlwZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QtdG9wLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgYXV0byAzLjc1cmVtO1xuICBtYXgtd2lkdGg6IDQ2LjI1cmVtOyB9XG4gIC53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnksXG4gIC53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLWZvcm0gaW5wdXQuaW5wdXQtdGV4dCB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyYzJiNzk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtOyB9XG5cbi53b29jb21tZXJjZS1mb3JtIGxhYmVsLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLWZvci1jaGVja2JveC5pbmxpbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cblxuZGl2Lndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIHtcbiAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjc1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OyB9XG5cbmRpdi53b29jb21tZXJjZS1vcmRlciB1bC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyYzJiNzk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgZGl2Lndvb2NvbW1lcmNlLW9yZGVyIHVsLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIHtcbiAgICBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICBkaXYud29vY29tbWVyY2Utb3JkZXIgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGkgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlLW9yZGVyIHVsLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50OyB9IH1cblxuZGl2Lndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIGgyIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogIzJjMmI3OTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbZGF0YS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kOiAjMmMyYjc5OyB9XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTsgfVxuICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMi41cmVtIDA7IH1cbiAgICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlYzIwMjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIuMTg3NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gLjI1cmVtKTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgICAgICAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgfSB9XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgZm9ybSAuZm9ybS1yb3cge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGZvcm0gaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsgfVxuICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgZm9ybSBmaWVsZHNldCBsZWdlbmQge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDAgMCAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHtcbiAgICBib3JkZXItdG9wOiAwLjMxMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW06Zmlyc3QtY2hpbGQsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOm50aC1jaGlsZCgybiksIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbTpudGgtY2hpbGQoMm4pIHRkLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOm50aC1jaGlsZCgybikgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOm50aC1jaGlsZCgybikgdGQucHJvZHVjdC1wcmljZSwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW06bnRoLWNoaWxkKDJuKSB0ZC5wcm9kdWN0LXN1YnRvdGFsLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOm50aC1jaGlsZCgybikgdGQucHJvZHVjdC1wcmljZSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbTpudGgtY2hpbGQoMm4pIHRkLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZCAucXVhbnRpdHksIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQgLnF1YW50aXR5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAuMzEyNXJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkOmJlZm9yZSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZDpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwNjUzNjtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRpdGxlKSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1uYW1lLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRpdGxlLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwgYSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwgaW1nLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyLjVyZW07IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtcmVtb3ZlLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtcmVtb3ZlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LXJlbW92ZTpiZWZvcmUsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1yZW1vdmU6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtcmVtb3ZlIGEsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1yZW1vdmUgYSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1yZW1vdmUgYTphZnRlciwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LXJlbW92ZSBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdSZW1vdmUgdGhpcyBpdGVtJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdG9wOiAtMC4zMTI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtcHJpY2UsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3Qtc3VidG90YWwsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1wcmljZSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfSB9XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjODM4M2E0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4MzgzYTQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4MzgzYTQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG46LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjODM4M2E0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cblxuZGl2I3B1cmNoYXNlLXRpY2tldHMge1xuICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMDYyNXJlbTsgfVxuXG4vKiBWZWdnaWUgSWNvbnMgU3R5bGVzICovXG4udmVnZ2llLWljb25zLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAudmVnZ2llLWljb25zLXdyYXBwZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDkuMzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbmEub3BlbnRhYmxlIHtcbiAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC4xODc1cmVtIDEuNTYyNXJlbSAwLjEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEub3BlbnRhYmxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL29wZW50YWJsZS1pY29uLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAtMC42MjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMS44NzVyZW07IH1cbiAgYS5vcGVudGFibGU6aG92ZXIsIGEub3BlbnRhYmxlOmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICMyYzJiNzkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4vKiBPcGVuVGFibGUgRnVsbC1XaWR0aCBSZXNlcnZhdGlvbiBXaWRnZXQgU3R5bGVzICovXG4ub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogODcuNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSAub3QtdGl0bGUge1xuICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSAub3QtcG93ZXJlZC1ieSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0ge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gKiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1wYXJ0eS1zaXplLXBpY2tlcixcbiAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1kYXRlLXBpY2tlcixcbiAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC10aW1lLXBpY2tlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAwLjkzNzVyZW0pOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LXBhcnR5LXNpemUtcGlja2VyLFxuICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1kYXRlLXBpY2tlcixcbiAgICAgICAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSBmb3JtLm90LWR0cC1waWNrZXItZm9ybSBkaXYub3QtdGltZS1waWNrZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC45Mzc1cmVtKTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1wYXJ0eS1zaXplLXBpY2tlcixcbiAgICAgICAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSBmb3JtLm90LWR0cC1waWNrZXItZm9ybSBkaXYub3QtZGF0ZS1waWNrZXIsXG4gICAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LXRpbWUtcGlja2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyB9IH1cbiAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LXBhcnR5LXNpemUtcGlja2VyID4gYSxcbiAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LWRhdGUtcGlja2VyID4gYSxcbiAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LXRpbWUtcGlja2VyID4gYSB7XG4gICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzY0MjAyNztcbiAgICAgICAgICBjb2xvcjogIzVjNWI1YjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJtcnMtZWF2ZXNcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDEuMzc1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1wYXJ0eS1zaXplLXBpY2tlciA+IGEsXG4gICAgICAgICAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSBmb3JtLm90LWR0cC1waWNrZXItZm9ybSBkaXYub3QtZGF0ZS1waWNrZXIgPiBhLFxuICAgICAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LXRpbWUtcGlja2VyID4gYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1wYXJ0eS1zaXplLXBpY2tlciA+IGE6YmVmb3JlLFxuICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1kYXRlLXBpY2tlciA+IGE6YmVmb3JlLFxuICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC10aW1lLXBpY2tlciA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSBmb3JtLm90LWR0cC1waWNrZXItZm9ybSBkaXYub3QtcGFydHktc2l6ZS1waWNrZXIgPiBhOmFmdGVyLFxuICAgICAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGRpdi5vdC1kYXRlLXBpY2tlciA+IGE6YWZ0ZXIsXG4gICAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gZGl2Lm90LXRpbWUtcGlja2VyID4gYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIgI290LXJlc2VydmF0aW9uLXdpZGdldCAub3QtZHRwLXBpY2tlci53aWRlIGZvcm0ub3QtZHRwLXBpY2tlci1mb3JtIGlucHV0Lm90LWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibXJzLWVhdmVzXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAgICAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSBmb3JtLm90LWR0cC1waWNrZXItZm9ybSBpbnB1dC5vdC1idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLm9wZW50YWJsZS13aWRnZXQtd3JhcHBlciAjb3QtcmVzZXJ2YXRpb24td2lkZ2V0IC5vdC1kdHAtcGlja2VyLndpZGUgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0gaW5wdXQub3QtYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgICAub3BlbnRhYmxlLXdpZGdldC13cmFwcGVyICNvdC1yZXNlcnZhdGlvbi13aWRnZXQgLm90LWR0cC1waWNrZXIud2lkZSBmb3JtLm90LWR0cC1waWNrZXItZm9ybSBpbnB1dC5vdC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7IH0gfVxuXG4vKiBDYXJkIEZsaXAgU3R5bGVzICovXG4uYnMtY2FyZC1jb250YWluZXIge1xuICBwZXJzcGVjdGl2ZTogNjAwO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5icy1jYXJkLWNvbnRhaW5lciAuYnMtY2FyZCB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNpdGlvbjogYWxsIC43NXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmRbY29udGVudGVkaXRhYmxlXSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7IH1cbiAgICAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSB7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSAqIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5icy1jYXJkLWNvbnRhaW5lciAuYnMtY2FyZCAuYnMtY2FyZC1zaWRlIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm1ycy1lYXZlc1wiLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUgYS5icy1idG4ge1xuICAgICAgICBmb250LXNpemU6IDEuMzEyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAgIC5icy1jYXJkLWNvbnRhaW5lciAuYnMtY2FyZCAuYnMtY2FyZC1zaWRlIGEuYnMtYnRuLmJzLWJ0bi13aGl0ZSB7XG4gICAgICAgICAgY29sb3I6ICMyYzJiNzkgIWltcG9ydGFudDsgfVxuICAgICAgICAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBhLmJzLWJ0bi5icy1idG4tY2xlYXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUgYS5icy1idG4uYnMtYnRuLWNsZWFyOmhvdmVyLCAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBhLmJzLWJ0bi5icy1idG4tY2xlYXI6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWMyMDI3ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5icy1jYXJkLWNvbnRhaW5lciAuYnMtY2FyZCAuYnMtY2FyZC1zaWRlIHNwYW4uc21hbGwtaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUtYmFjayB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgfVxuICAgICAgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUtYmFjayBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE1LjYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQ6aG92ZXIsIC5icy1jYXJkLWNvbnRhaW5lciAuYnMtY2FyZDpmb2N1cyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuICAgICAgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkOmhvdmVyIC5icy1jYXJkLXNpZGUtYmFjaywgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkOmZvY3VzIC5icy1jYXJkLXNpZGUtYmFjayB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSAuYnMtY2FyZC1jb250YWluZXIge1xuICBwZXJzcGVjdGl2ZTogNjAwO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD1cImtleWJvYXJkXCJdIC5icy1jYXJkLWNvbnRhaW5lciAuYnMtY2FyZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZS1iYWNrIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IH1cblxuLyoqKiogSEVBREVSIFNUWUxFUyAqKioqL1xuaGVhZGVyI21hc3RoZWFkIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQsIGNlbnRlciByaWdodDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMmMyYjc5O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTguNzVlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAlIGNlbnRlciwgMTEwJSBjZW50ZXI7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNi4yNWVtKSB7XG4gICAgaGVhZGVyI21hc3RoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoLTEwJSAtIDIwMHB4KSBjZW50ZXIsIGNhbGMoMTEwJSArIDIwMHB4KSBjZW50ZXI7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3LjVlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKC0xMCUgLSAzMDBweCkgY2VudGVyLCBjYWxjKDExMCUgKyAzMDBweCkgY2VudGVyOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyI21hc3RoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoLTEwJSAtIDM3NXB4KSBjZW50ZXIsIGNhbGMoMTEwJSArIDM3NXB4KSBjZW50ZXI7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICBoZWFkZXIjbWFzdGhlYWQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZCAjaGVhZGVyLWlubmVyIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCAjaGVhZGVyLWlubmVyIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIgLnRpdGxlLWJhci1sZWZ0IC50aXRsZS1iYXItdGl0bGUgYS5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgIG1heC13aWR0aDogOS4zNzVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSBhLmN1c3RvbS1sb2dvLWxpbmsgLmN1c3RvbS1sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogOS4zNzVyZW07IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIC5oZWFkZXItdGFnbGluZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5LjczNXJlbSk7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIC5oZWFkZXItdGFnbGluZSxcbiAgICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIC5oZWFkZXItc2Vjb25kYXJ5LXRhZ2xpbmUge1xuICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSAuaGVhZGVyLXRhZ2xpbmUsXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCAjaGVhZGVyLWlubmVyIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIgLnRpdGxlLWJhci1sZWZ0IC50aXRsZS1iYXItdGl0bGUgLmhlYWRlci1zZWNvbmRhcnktdGFnbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSAuaGVhZGVyLXRhZ2xpbmUsXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCAjaGVhZGVyLWlubmVyIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIgLnRpdGxlLWJhci1sZWZ0IC50aXRsZS1iYXItdGl0bGUgLmhlYWRlci1zZWNvbmRhcnktdGFnbGluZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSAuaGVhZGVyLXRhZ2xpbmUge1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtIDA7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIC5oZWFkZXItc2Vjb25kYXJ5LXRhZ2xpbmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZ2xvc3MtYmxvb21cIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCBidXR0b24ubWVudS1pY29uIHNwYW4ua2VlcC10b2dldGhlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IC41OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCAuc2l0ZS1kZXNrdG9wLXRpdGxlLnRvcC1iYXItdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci10b3AgLnNpdGUtZGVza3RvcC10aXRsZS50b3AtYmFyLXRpdGxlIC5sb2dvLXdyYXBwZXIgYS5jdXN0b20tbG9nby1saW5rIC5jdXN0b20tbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDE4Ljc1cmVtOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCAuc2l0ZS1kZXNrdG9wLXRpdGxlLnRvcC1iYXItdGl0bGUgLmxvZ28td3JhcHBlciAuaGVhZGVyLXRhZ2xpbmUsXG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCAuc2l0ZS1kZXNrdG9wLXRpdGxlLnRvcC1iYXItdGl0bGUgLmxvZ28td3JhcHBlciAuaGVhZGVyLXNlY29uZGFyeS10YWdsaW5lIHtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAuNjI1cmVtICNGRkZGRkY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCAuc2l0ZS1kZXNrdG9wLXRpdGxlLnRvcC1iYXItdGl0bGUgLmxvZ28td3JhcHBlciAuaGVhZGVyLXRhZ2xpbmUge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDMwcmVtOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCAuc2l0ZS1kZXNrdG9wLXRpdGxlLnRvcC1iYXItdGl0bGUgLmxvZ28td3JhcHBlciAuaGVhZGVyLXNlY29uZGFyeS10YWdsaW5lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImdsb3NzLWJsb29tXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmRlc2t0b3AtbWVudS5tZW51IHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudTpiZWZvcmUsIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudTphZnRlciB7XG4gICAgICB0b3A6IDA7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItbGVmdCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaSB7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItbGVmdCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaSA+IGEge1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgfSB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItbGVmdCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAwLjEyNXJlbTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudSAuZHJvcGRvd24ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgbWF4LXdpZHRoOiAxMi41cmVtOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItbGVmdCAuZGVza3RvcC1tZW51Lm1lbnUgLmRyb3Bkb3duID4gbGkge1xuICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudSAuZHJvcGRvd24gPiBsaSA+IGEge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItbGVmdCAuZGVza3RvcC1tZW51Lm1lbnUgLmRyb3Bkb3duID4gbGkgPiBhOmhvdmVyLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmRlc2t0b3AtbWVudS5tZW51IC5kcm9wZG93biA+IGxpID4gYTpmb2N1cyxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudSAuZHJvcGRvd24gPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgICBjb2xvcjogI2VjMjAyNzsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmRlc2t0b3AtbWVudS5tZW51IC5kcm9wZG93biAuZHJvcGRvd24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudSAuZHJvcGRvd24gLmRyb3Bkb3duID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kZXNrdG9wLW1lbnUubWVudSA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDsgfVxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHdpZHRoOiAxNy41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYzJiNzk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gKiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgICAgICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlci5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlci5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICMyYzJiNzk7XG4gICAgICAgICAgICBsZWZ0OiAwLjU2MjVyZW07XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRvcDogMC4xODc1cmVtOyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IHtcbiAgICAgICAgei1pbmRleDogOTk5OyB9XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IGEgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlYzIwMjcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAwLjM3NXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IGEgc3Bhbi5jYXJ0LWNvbnRlbnRzLWNvdW50LTAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudG9wLWJhci1teS1jYXJ0IGE6aG92ZXIgc3Bhbi5jYXJ0LWNvbnRlbnRzLCBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLnRvcC1iYXItbXktY2FydCBhOmZvY3VzIHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG5cbm5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMge1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuYWRtaW4tYmFyIG5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjI1cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmFkbWluLWJhciBuYXYubW9iaWxlLW9mZi1jYW52YXMtbWVudS5vZmYtY2FudmFzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQuMTI1cmVtOyB9IH1cbiAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyAubWVudSA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH1cbiAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyAubWVudSBsaSwgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyAubWVudSBsaSBhIHtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50OyB9XG4gIG5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMgLm1lbnU6bm90KC5uZXN0ZWQpID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDFyZW07IH1cbiAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyAubWVudS5uZXN0ZWQgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIG5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMgZGl2LmN1c3RvbS1idXR0b24uYWx0LW5hdi1teS1jYXJ0IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDEuNTYyNXJlbTsgfVxuICBuYXYubW9iaWxlLW9mZi1jYW52YXMtbWVudS5vZmYtY2FudmFzIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyBmb3JtI3NlYXJjaGZvcm0gKiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyBmb3JtI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgICBjb2xvcjogIzJjMmI3OTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgbmF2Lm1vYmlsZS1vZmYtY2FudmFzLW1lbnUub2ZmLWNhbnZhcyBmb3JtI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIG5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIG5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMgZm9ybSNzZWFyY2hmb3JtOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyLjEyNXJlbTsgfVxuICAgIG5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqKiogSE9NRSBQQUdFIFNUWUxFUyAqKioqL1xuI3RocmVlLXBvcnRhbHMtd3JhcHBlciAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBoMiwgI3RocmVlLXBvcnRhbHMtd3JhcHBlciAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBhOm5vdCguYnMtYnRuLXdoaXRlKSwgI3RocmVlLXBvcnRhbHMtd3JhcHBlciAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBzcGFuLnNtYWxsLWhlYWRpbmcge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cblxuI3RocmVlLXBvcnRhbHMtd3JhcHBlciAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBwIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwibXJzLWVhdmVzXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmICFpbXBvcnRhbnQ7IH1cblxuI3RocmVlLXBvcnRhbHMtd3JhcHBlciAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBzcGFuLmtlZXAtdG9nZXRoZXIge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OyB9XG4gICN0aHJlZS1wb3J0YWxzLXdyYXBwZXIgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUgc3Bhbi5rZWVwLXRvZ2V0aGVyIGEub3BlbnRhYmxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgI3RocmVlLXBvcnRhbHMtd3JhcHBlciAuYnMtY2FyZC1jb250YWluZXIgLmJzLWNhcmQgLmJzLWNhcmQtc2lkZSBzcGFuLmtlZXAtdG9nZXRoZXIgYS5vcGVudGFibGU6aG92ZXIsICN0aHJlZS1wb3J0YWxzLXdyYXBwZXIgLmJzLWNhcmQtY29udGFpbmVyIC5icy1jYXJkIC5icy1jYXJkLXNpZGUgc3Bhbi5rZWVwLXRvZ2V0aGVyIGEub3BlbnRhYmxlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLyoqKiogQUJPVVQgVVMgU1RZTEVTICoqKiovXG4jYWJvdXQtdXMtd3JhcHBlciBwIHtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMzUuOTM3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2Fib3V0LXVzLXdyYXBwZXIgcCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjYWJvdXQtdXMtd3JhcHBlciAudmNfY29sLXNtLTYge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuI2Fib3V0LXVzLXdyYXBwZXIgLnZjX2NvbC1zbS02Omxhc3Qtb2YtdHlwZSAud3BiX3NpbmdsZV9pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDQuMzc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjYWJvdXQtdXMtd3JhcHBlciAudmNfY29sLXNtLTY6bGFzdC1vZi10eXBlIC53cGJfc2luZ2xlX2ltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4jYWJvdXQtdXMtd3JhcHBlciAudmNfY29sLXNtLTY6bGFzdC1vZi10eXBlIC53cGJfc2luZ2xlX2ltYWdlICoge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMzUuOTM3NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNhYm91dC11cy13cmFwcGVyIC52Y19jb2wtc20tNjpsYXN0LW9mLXR5cGUgLndwYl9zaW5nbGVfaW1hZ2UgKiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNhYm91dC11cy13cmFwcGVyIC52Y19jb2wtc20tNjpsYXN0LW9mLXR5cGUge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICNhYm91dC11cy13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi8qKioqIENBTEVOREFSICYgU0lOR0xFIEVWRU5UIFNUWUxFUyAqKioqL1xuI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuI3RyaWJlLWV2ZW50cyBkaXYudHJpYmUtZXZlbnRzLXRpdGxlLWJhciB7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtNC4zNzVyZW07XG4gIHdpZHRoOiBhdXRvOyB9XG4gICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtcGhvdG8tZ3JpZC1zaXplcixcbiAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyaWJlLWV2ZW50cy1waG90by1ndXR0ZXItc2l6ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgZGl2LnR5cGUtdHJpYmVfZXZlbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNC4zNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGRpdi50eXBlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGRpdi50eXBlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgZGl2LnR5cGUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlIGEgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGRpdi50eXBlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZSBhOmhvdmVyIGltZywgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgZGl2LnR5cGUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlIGE6Zm9jdXMgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDJkZWcpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGRpdi50eXBlLXRyaWJlX2V2ZW50cyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogOTAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjM3NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtZXZlbnQtZGV0YWlscyB7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1kZXRhaWxzIGgzLnRyaWJlLWV2ZW50cy1saXN0LWV2ZW50LXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWRldGFpbHMgaDMudHJpYmUtZXZlbnRzLWxpc3QtZXZlbnQtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1kZXRhaWxzIGgzLnRyaWJlLWV2ZW50cy1saXN0LWV2ZW50LXRpdGxlIGEge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWRldGFpbHMgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1kZXRhaWxzIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSAqIHtcbiAgICAgICAgY29sb3I6ICNlYzIwMjc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtZXZlbnQtZGV0YWlscyAudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEgLnRyaWJlLWV2ZW50LXZlbnVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1kZXRhaWxzIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSAudHJpYmUtZXZlbnQtdmVudWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWRldGFpbHMgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIC50cmliZS1ldmVudC12ZW51ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtZXZlbnQtZGV0YWlscyAudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEgLnRyaWJlLWV2ZW50LXZlbnVlIC50cmliZS1ldmVudC12ZW51ZS1tZXRhOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL21hcG1hcmtlci1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDAuMTI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjE4NzVyZW07IH1cbiAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtZXZlbnQtZGV0YWlscyAudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEgLnRyaWJlLWV2ZW50LXNjaGVkdWxlLWRldGFpbHMge1xuICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWRldGFpbHMgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIC50cmliZS1ldmVudC1zY2hlZHVsZS1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1ldmVudC1kZXRhaWxzIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSAudHJpYmUtZXZlbnQtc2NoZWR1bGUtZGV0YWlscyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtZXZlbnQtZGV0YWlscyAudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEgLnRyaWJlLWV2ZW50LXNjaGVkdWxlLWRldGFpbHMgc3Bhbi50cmliZS1ldmVudC1kYXRlLXN0YXJ0IHtcbiAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICAgICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWV2ZW50LWRldGFpbHMgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIC50cmliZS1ldmVudC1zY2hlZHVsZS1kZXRhaWxzIHNwYW4udHJpYmUtZXZlbnQtZGF0ZS1zdGFydDpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL2NhbGVuZGFyLWljb24uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMC4xMjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMS4zNzVyZW07IH1cbiAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1saXN0LXBob3RvLWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWxpc3QtcGhvdG8tZGVzY3JpcHRpb24gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtbGlzdC1waG90by1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIC50cmliZS1ldmVudHMtbGlzdC1waG90by1kZXNjcmlwdGlvbiAudHJpYmUtZXZlbnRzLWZvb3Rlci1idXR0b25zIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWxpc3QtcGhvdG8tZGVzY3JpcHRpb24gLnRyaWJlLWV2ZW50cy1mb290ZXItYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9IH1cbiAgICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCAudHJpYmUtZXZlbnRzLWxpc3QtcGhvdG8tZGVzY3JpcHRpb24gLnRyaWJlLWV2ZW50cy1mb290ZXItYnV0dG9ucyBhLmJzLWJ0biB7XG4gICAgICBtYXJnaW46IDAgMC42MjVyZW0gMC42MjVyZW0gMDsgfVxuICAgICAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAgLnRyaWJlLWV2ZW50cy1saXN0LXBob3RvLWRlc2NyaXB0aW9uIC50cmliZS1ldmVudHMtZm9vdGVyLWJ1dHRvbnMgYS5icy1idG4gKyBhLmJzLWJ0biB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4jdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtaGVhZGVyLCAjdHJpYmUtZXZlbnRzIGEudHJpYmUtZXZlbnRzLWljYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkubm90LWhvbWUgLnRyaWJlLWV2ZW50cy1sb29wIHtcbiAgbWFyZ2luLWJvdHRvbTogLTVyZW07IH1cblxuYm9keS5ub3QtaG9tZSAudHJpYmUtZXZlbnQtZmVhdHVyZWQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ0LCA0MywgMTIxLCAwLjc1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtIDAgMCAwLjE4NzVyZW07XG4gIGNvbnRlbnQ6ICdGZWF0dXJlZCcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJtcnMtZWF2ZXNcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDAuOTM3NXJlbTtcbiAgd2lkdGg6IDVyZW07XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDA7IH1cblxuI3RyaWJlLWV2ZW50cy1iYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiN0cmliZV9ldmVudHNfZmlsdGVyc193cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICN0cmliZV9ldmVudHNfZmlsdGVyc193cmFwcGVyIC50cmliZS1ldmVudHMtZmlsdGVycy1jb250ZW50IGxhYmVsLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7IH1cbiAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciAudHJpYmUtZXZlbnRzLWZpbHRlcnMtY29udGVudCAudHJpYmVfZXZlbnRzX2ZpbHRlcl9jb250cm9sIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuICAgICAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWNvbnRlbnQgLnRyaWJlX2V2ZW50c19maWx0ZXJfY29udHJvbCBidXR0b246bm90KC50cmliZV9ldmVudHNfZmlsdGVyc19yZXNldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciAudHJpYmUtZXZlbnRzLWZpbHRlcnMtY29udGVudCAudHJpYmVfZXZlbnRzX2ZpbHRlcl9jb250cm9sIGJ1dHRvbi50cmliZV9ldmVudHNfZmlsdGVyc19yZXNldCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICN0cmliZV9ldmVudHNfZmlsdGVyc193cmFwcGVyIC50cmliZS1ldmVudHMtZmlsdGVycy1jb250ZW50IC50cmliZV9ldmVudHNfZmlsdGVyX2NvbnRyb2wgYnV0dG9uLnRyaWJlX2V2ZW50c19maWx0ZXJzX3Jlc2V0IHNwYW4ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAgICAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWNvbnRlbnQgLnRyaWJlX2V2ZW50c19maWx0ZXJfY29udHJvbCBidXR0b24udHJpYmVfZXZlbnRzX2ZpbHRlcnNfcmVzZXQgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cbiAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciAudHJpYmUtZXZlbnRzLWZpbHRlcnMtY29udGVudCBzcGFuLnRyaWJlLWV2ZW50cy1maWx0ZXItY291bnQge1xuICAgICAgYmFja2dyb3VuZDogI2VjMjAyNztcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgZm9ybSN0cmliZV9ldmVudHNfZmlsdGVyc19mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgZm9ybSN0cmliZV9ldmVudHNfZmlsdGVyc19mb3JtID4gZmllbGRzZXQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciBmb3JtI3RyaWJlX2V2ZW50c19maWx0ZXJzX2Zvcm0gYnV0dG9uLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWdyb3VwLWhlYWRpbmcge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjMmMyYjc5O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgZm9ybSN0cmliZV9ldmVudHNfZmlsdGVyc19mb3JtIGZpZWxkc2V0IC50cmliZS1ldmVudHMtZmlsdGVyLWdyb3VwIHtcbiAgICAgIHRvcDogMi41cmVtOyB9XG4gICAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciBmb3JtI3RyaWJlX2V2ZW50c19maWx0ZXJzX2Zvcm0gZmllbGRzZXQgLnRyaWJlLWV2ZW50cy1maWx0ZXItZ3JvdXAgdWwgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gICAgICAgICN0cmliZV9ldmVudHNfZmlsdGVyc193cmFwcGVyIGZvcm0jdHJpYmVfZXZlbnRzX2ZpbHRlcnNfZm9ybSBmaWVsZHNldCAudHJpYmUtZXZlbnRzLWZpbHRlci1ncm91cCB1bCBsaSBsYWJlbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciBmb3JtI3RyaWJlX2V2ZW50c19maWx0ZXJzX2Zvcm0gZmllbGRzZXQ6bGFzdC1vZi10eXBlIC50cmliZS1ldmVudHMtZmlsdGVyLWdyb3VwIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogLTAuNjI1cmVtOyB9XG4gICAgICAjdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciBmb3JtI3RyaWJlX2V2ZW50c19maWx0ZXJzX2Zvcm0gZmllbGRzZXQ6bGFzdC1vZi10eXBlIC50cmliZS1ldmVudHMtZmlsdGVyLWdyb3VwOmJlZm9yZSwgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgZm9ybSN0cmliZV9ldmVudHNfZmlsdGVyc19mb3JtIGZpZWxkc2V0Omxhc3Qtb2YtdHlwZSAudHJpYmUtZXZlbnRzLWZpbHRlci1ncm91cDphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLnRyaWJlLWV2ZW50cy1uYXYtcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnRyaWJlLWV2ZW50cy1uYXYtcGFnaW5hdGlvbiB1bCBsaSBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMmMyYjc5ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLyogU2luZ2xlIEV2ZW50IFN0eWxlcyAqL1xuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCB7XG4gIG1heC13aWR0aDogNTEuODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCBwLnRyaWJlLWV2ZW50cy1iYWNrIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IGgxLnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImdsb3NzLWJsb29tXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMC42MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNjg3NXJlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgaDEudHJpYmUtZXZlbnRzLXNpbmdsZS1ldmVudC10aXRsZSBzcGFuLnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUtaW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogMTAuNjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbSAwLjEyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IGgxLnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUgc3Bhbi50cmliZS1ldmVudHMtc2luZ2xlLWV2ZW50LXRpdGxlLWlubmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL3NlY3Rpb24taGVhZGluZy11bmRlcmxpbmUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwLjYyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1zY2hlZHVsZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNjaGVkdWxlIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1zY2hlZHVsZSBzcGFuLnRyaWJlLWV2ZW50cy1jb3N0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1ldmVudC1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmVfZXZlbnRzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZV9ldmVudHMgLmJzLXRyaWJlLWV2ZW50LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoNjUlIC0gMS44NzVyZW0pOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZV9ldmVudHMgLmJzLXRyaWJlLWV2ZW50LXdyYXBwZXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhLnByaW1hcnkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDEuODc1cmVtKTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24udHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEucHJpbWFyeSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gICAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbi50cmliZS1ldmVudHMtZXZlbnQtbWV0YS5wcmltYXJ5IC50cmliZS1ldmVudHMtbWV0YS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24udHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMC42MjVyZW0gZG91YmxlICMyYzJiNzk7XG4gICAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmVfZXZlbnRzIC5ldmVudGJyaXRlLXRpY2tldC1lbWJlZCB7XG4gICAgICBib3JkZXI6IDAuNjI1cmVtIGRvdWJsZSAjMmMyYjc5O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlX2V2ZW50cyAuZXZlbnRicml0ZS10aWNrZXQtZW1iZWQgaWZyYW1lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjA2MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuMDYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuMDYyNXJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLnByaW1hcnkge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24gLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMS4yNXJlbTsgfVxuICAgICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cDpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24gLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCBkbCBkZCwgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCBkbCBkdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24gLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIGRsIGRkIGEsIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbiAudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAgZGwgZHQgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbiAudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAgZGwgZGQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCBkbCBkZDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLm1haW4td3JhcC5mdWxsLXdpZHRoICN0cmliZS1ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24gLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIGRsIGRkLnRyaWJlLWV2ZW50cy1ldmVudC11cmwgYSB7XG4gICAgICAgICAgY29sb3I6ICMxNzFjMzg7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCAudHJpYmUtY291bnRyeS1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbi5zZWNvbmRhcnkgLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIGgyIHtcbiAgICAgIGNvbG9yOiAjMmMyYjc5OyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLnNlY29uZGFyeSAudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAgYSB7XG4gICAgICBjb2xvcjogI2VjMjAyNztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5tYWluLXdyYXAuZnVsbC13aWR0aCAjdHJpYmUtZXZlbnRzICN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLnNlY29uZGFyeSAudHJpYmUtZXZlbnRzLXZlbnVlLW1hcCB7XG4gICAgICBtYXJnaW46IDAuNjI1cmVtIDAuNjI1cmVtIDAuNjI1cmVtIDA7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAubWFpbi13cmFwLmZ1bGwtd2lkdGggI3RyaWJlLWV2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbi5zZWNvbmRhcnkgLnRyaWJlLWV2ZW50cy12ZW51ZS1tYXAge1xuICAgICAgICAgIG1hcmdpbjogMCAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4vKioqKiBJTlRFUk5BTCBQQUdFIFNUWUxFUyAqKioqL1xuYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIGJvZHkubm90LWhvbWUucGFnZS10ZW1wbGF0ZS1wYWdlLXNpZGViYXItbGVmdCBkaXYubWFpbi13cmFwIGFydGljbGUubWFpbi1jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDI2Ljg3NXJlbSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIGJvZHkubm90LWhvbWUucGFnZS10ZW1wbGF0ZS1wYWdlLXNpZGViYXItbGVmdCBkaXYubWFpbi13cmFwIGFydGljbGUubWFpbi1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNi4yNXJlbSk7IH0gfVxuICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhcnRpY2xlLm1haW4tY29udGVudCAuYnJlYWRjcnVtYnMtd3JhcHBlciwgYm9keS5ub3QtaG9tZS5wYWdlLXRlbXBsYXRlLXBhZ2Utc2lkZWJhci1sZWZ0IGRpdi5tYWluLXdyYXAgYXJ0aWNsZS5tYWluLWNvbnRlbnQgLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhcnRpY2xlLm1haW4tY29udGVudCAuYnJlYWRjcnVtYnMtd3JhcHBlciB1bCNicmVhZGNydW1icywgYm9keS5ub3QtaG9tZS5wYWdlLXRlbXBsYXRlLXBhZ2Utc2lkZWJhci1sZWZ0IGRpdi5tYWluLXdyYXAgYXJ0aWNsZS5tYWluLWNvbnRlbnQgLmJyZWFkY3J1bWJzLXdyYXBwZXIgdWwjYnJlYWRjcnVtYnMge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuXG5ib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyLCBib2R5Lm5vdC1ob21lLnBhZ2UtdGVtcGxhdGUtcGFnZS1zaWRlYmFyLWxlZnQgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL2JsdWUtY2hhbGtib2FyZC12ZXJ0aWNhbC1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW4tdG9wOiAtMi41cmVtO1xuICBtYXgtd2lkdGg6IDIzLjEyNXJlbTtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciwgYm9keS5ub3QtaG9tZS5wYWdlLXRlbXBsYXRlLXBhZ2Utc2lkZWJhci1sZWZ0IGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMC45Mzc1cmVtIDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGJvZHkubm90LWhvbWUucGFnZS10ZW1wbGF0ZS1wYWdlLXNpZGViYXItbGVmdCBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtIDAuOTM3NXJlbSAwO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbmJvZHkubm90LWhvbWUucGFnZS10ZW1wbGF0ZS1wYWdlLXRheWxvcnMta2l0Y2hlbiAua2l0Y2hlbi1vcGVuLWhvdXJzIHtcbiAgY29sb3I6ICM1YzViNWIgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwibXJzLWVhdmVzXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5ib2R5Lm5vdC1ob21lLnBhZ2UtdGVtcGxhdGUtcGFnZS10YXlsb3JzLWtpdGNoZW4gI21haW4tY29udGFpbmVyIHAsIGJvZHkubm90LWhvbWUucGFnZS10ZW1wbGF0ZS1wYWdlLXRheWxvcnMta2l0Y2hlbiAjbWFpbi1jb250YWluZXIgbGksIGJvZHkubm90LWhvbWUucGFnZS10ZW1wbGF0ZS1wYWdlLXRheWxvcnMta2l0Y2hlbiAjbWFpbi1jb250YWluZXIgc3BhbiwgYm9keS5ub3QtaG9tZS5wYWdlLXRlbXBsYXRlLXBhZ2UtdGF5bG9ycy1raXRjaGVuICNtYWluLWNvbnRhaW5lciB0aW1lIHtcbiAgY29sb3I6ICM1YzViNWIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuYm9keS5ub3QtaG9tZS5wYWdlLXRlbXBsYXRlLXBhZ2UtdGF5bG9ycy1raXRjaGVuICNtYWluLWNvbnRhaW5lciAuc3RhZmYtZXhjZXJwdCBwIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG5ib2R5Lm5vdC1ob21lLnBhZ2UtdGVtcGxhdGUtcGFnZS10YXlsb3JzLWtpdGNoZW4gI21haW4tY29udGFpbmVyIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2Ugc3Bhbi5pZy1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogIzVjNWI1YiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5zZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICM1YzViNWI7IH1cbiAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjNWM1YjViO1xuICAgICAgICBjb2xvcjogIzVjNWI1YjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibXJzLWVhdmVzXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xODc1cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJyAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IC41O1xuICAgICAgICAgIG1hcmdpbjogMC4yNXJlbSAwIDAgMC42MjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBhdXRvOyB9IH1cbiAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGRpdi5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gZGl2LmFjY29yZGlvbi1jb250ZW50IC5zaW5nbGUta2l0Y2hlbi1tZW51LWl0ZW0gaDMge1xuICAgICAgICAgICAgY29sb3I6ICM1YzViNWIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIm1ycy1lYXZlc1wiLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbSAubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUyLjVyZW07IH1cbiAgICAgICAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGRpdi5hY2NvcmRpb24tY29udGVudCAuc2luZ2xlLWtpdGNoZW4tbWVudS1pdGVtIC5tZW51LWl0ZW0tY29udGVudCBwIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbSAubWVudS1pdGVtLWNvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gZGl2LmFjY29yZGlvbi1jb250ZW50IC5zaW5nbGUta2l0Y2hlbi1tZW51LWl0ZW0gLm1lbnUtaXRlbS1jb250ZW50IHAgKyBwLm1lbnUtaXRlbS1wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIuNXJlbTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbSAubWVudS1pdGVtLWNvbnRlbnQgcC5tZW51LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbS5uby10YWJzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgICAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGRpdi5hY2NvcmRpb24tY29udGVudCAuc2luZ2xlLWtpdGNoZW4tbWVudS1pdGVtLm5vLXRhYnM6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGRpdi5hY2NvcmRpb24tY29udGVudCAudGVybS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgdWwudGFicyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgdWwudGFicyBsaS50YWJzLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gZGl2LmFjY29yZGlvbi1jb250ZW50IHVsLnRhYnMgbGkudGFicy10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7IH0gfVxuICAgICAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gZGl2LmFjY29yZGlvbi1jb250ZW50IHVsLnRhYnMgbGkudGFicy10aXRsZSA+IGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBjb2xvcjogIzVjNWI1YjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGRpdi5hY2NvcmRpb24tY29udGVudCB1bC50YWJzIGxpLnRhYnMtdGl0bGUuaXMtYWN0aXZlID4gYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0gZGl2LmFjY29yZGlvbi1jb250ZW50IC50YWJzLWNvbnRlbnQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJtcnMtZWF2ZXNcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IH1cbiAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSBkaXYuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7IH1cbiAgICAgICAgICAgIHNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3AgdWwuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtIGRpdi5hY2NvcmRpb24tY29udGVudCAudGFicy1jb250ZW50IC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgYS5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgYS5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAgICAgc2VjdGlvbi5icy1raXRjaGVuLW1lbnUtaXRlbXMtbG9vcCB1bC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IGF1dG87IH0gfVxuICAgICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gICAgICBzZWN0aW9uLmJzLWtpdGNoZW4tbWVudS1pdGVtcy1sb29wIHVsLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7IH1cblxuYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXJ0aWNsZS5tYWluLWNvbnRlbnQgLnByb2R1Y3QtbWV0YSBzcGFuLm1ldGEtaXRlbSB7XG4gIGJvcmRlci1yaWdodDogMC4xMjVyZW0gc29saWQgIzJjMmI3OTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhcnRpY2xlLm1haW4tY29udGVudCAucHJvZHVjdC1tZXRhIHNwYW4ubWV0YS1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbmJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFydGljbGUubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IC5wcm9kdWN0LXRvcC13cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgYS53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3RyaWdnZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFydGljbGUubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IC5wcm9kdWN0LXRvcC13cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFydGljbGUubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IC5wcm9kdWN0LXRvcC13cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXJ0aWNsZS5tYWluLWNvbnRlbnQgLmVudHJ5LWNvbnRlbnQgLnByb2R1Y3QtdG9wLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIC5nYWxsZXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciBmb3JtLndvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDsgfVxuICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIGZvcm0ud29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2ggaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG9yZGVyOiAyO1xuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbTsgfVxuICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIGZvcm0ud29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2ggYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICBvcmRlcjogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6IDIuMTI1cmVtOyB9XG4gICAgYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciBmb3JtLndvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoIGJ1dHRvbjphZnRlciB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XG4gICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMi4xMjVyZW07IH1cblxuYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQ6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldCBoNiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBjb2xvcjogI2VjZTgxMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldCBoNjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQgdWwjZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQgdWwjZmlsdGVycyBsaSB7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQgdWwjZmlsdGVycyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldCB1bCNmaWx0ZXJzIGxpIGEge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IDAgMC4zMTI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0IHVsI2ZpbHRlcnMgbGkgYS5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZWNlODEwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldCAud2MtYnJhbmRzLXdyYXBwZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQgLndjLWJyYW5kcy13cmFwcGVyIC5icy1pc290b3BlLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQgLndjLWJyYW5kcy13cmFwcGVyIC5icy1pc290b3BlLWl0ZW0gYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWNvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldC53b29jb21tZXJjZS53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyBsaS5jYXQtaXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldC53b29jb21tZXJjZS53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyBsaS5jYXQtaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQud29vY29tbWVyY2Uud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgbGkuY2F0LWl0ZW0gYTpob3ZlciwgYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0Lndvb2NvbW1lcmNlLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIGxpLmNhdC1pdGVtIGE6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldC53b29jb21tZXJjZS53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyBsaS5jYXQtaXRlbSB1bC5jaGlsZHJlbiB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIGJvZHkubm90LWhvbWUud29vY29tbWVyY2UtcGFnZSBkaXYubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldC53b29jb21tZXJjZS53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyBsaS5jYXQtaXRlbSB1bC5jaGlsZHJlbiBsaS5jYXQtaXRlbSBhIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIGRpdi5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0Lndvb2NvbW1lcmNlLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBib2R5Lm5vdC1ob21lLndvb2NvbW1lcmNlLXBhZ2UgZGl2Lm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXQud29vY29tbWVyY2Uud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjMmMyYjc5IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9mb290ZXItYmcuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJiNzkgdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL2JsdWUtY2hhbGtib2FyZC12ZXJ0aWNhbC1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyOmJlZm9yZSwgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwLjQzNzVyZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxLjVyZW07IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogMS41cmVtO1xuICAgIHRvcDogYXV0bzsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzZWN0aW9uLmxhcmdlLTM6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgd2lkdGg6IDQzJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgc2VjdGlvbi5sYXJnZS0zOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzZWN0aW9uLmxhcmdlLTM6Zmlyc3Qtb2YtdHlwZSBwIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzZWN0aW9uLmxhcmdlLTM6bnRoLW9mLXR5cGUoMikge1xuICAgIHdpZHRoOiAxOSU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1ZW0pIHtcbiAgICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHNlY3Rpb24ubGFyZ2UtMzpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzZWN0aW9uLmxhcmdlLTM6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHNlY3Rpb24ubGFyZ2UtMzpudGgtb2YtdHlwZSgzKSB7XG4gICAgd2lkdGg6IDE5JTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgc2VjdGlvbi5sYXJnZS0zOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHNlY3Rpb24ubGFyZ2UtMzpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgc2VjdGlvbi5sYXJnZS0zOmxhc3Qtb2YtdHlwZSB7XG4gICAgd2lkdGg6IDE5JTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgc2VjdGlvbi5sYXJnZS0zOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzZWN0aW9uLmxhcmdlLTM6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciAud2lkZ2V0IGg2IHtcbiAgICBmb250LXNpemU6IDEuNzVyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciAud2lkZ2V0IGg2LndpZGdldC10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIC53aWRnZXQgdWwubWVudSBsaSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBcImZ1dHVyYS1wdC1jb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIC53aWRnZXQgdWwubWVudSBsaSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciAud2lkZ2V0IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciAud2lkZ2V0IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogM3JlbTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciAud2lkZ2V0IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgLndpZGdldDpmaXJzdC1vZi10eXBlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIm1ycy1lYXZlc1wiLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodC1jb250YWluZXIgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBDb25kZW5zZWRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiQXJpYWwgTmFycm93XCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbiNmb290ZXItY29udGFpbmVyICNjb3B5cmlnaHQtY29udGFpbmVyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubW9iaWxlLW1lbnUsXG4gIC5zaXRlLXRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5kZXNrdG9wLW1lbnUsXG4gIGJvZHk6bm90KC50b3BiYXIpIC5zaXRlLW5hdmlnYXRpb24gLnRvcC1iYXItbGVmdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcyA+IHVsLm1lbnUge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLm9mZi1jYW52YXMgPiB1bC5tZW51IGEge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLm9mZi1jYW52YXMgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbi50aXRsZS1iYXItdGl0bGUgYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNCOUI5Qjk7IH1cblxuLm1vYmlsZS1tZW51IC5tZW51IC5pcy1hY3RpdmUgPiBhLFxuLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY0NTRmOyB9XG5cbi50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjQjlCOUI5O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxuLnRvcC1iYXIgLm1lbnUgYSB7XG4gIGNvbG9yOiAjZTZlNmU2O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnRvcC1iYXIgLm1lbnUgYTpob3Zlcjpub3QoLmJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjUyNUQ7IH1cblxuLnRvcC1iYXIgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbi50b3AtYmFyIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gIHBhZGRpbmc6IDFyZW07IH1cblxuLnRvcC1iYXIgLm1lbnUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ZTRlNGU7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICBib3JkZXI6IDA7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gIGJvcmRlcjogMDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLnNpdGUtbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmJlZm9yZSwgLnBvc3QtbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLm1haW4td3JhcCB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubWFpbi13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLm1haW4td3JhcC5zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1haW4td3JhcC5zaWRlYmFyLWxlZnQgLnNpZGViYXIge1xuICAgIG9yZGVyOiAyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLm1haW4td3JhcC5zaWRlYmFyLWxlZnQgLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAubWFpbi13cmFwLmZ1bGwtd2lkdGggLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLm1haW4td3JhcCAubWFpbi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5tYWluLXdyYXAgLnNpZGViYXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5tYWluLXdyYXAgLnNpZGViYXIge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuZGl2LnByZS1mb290ZXItY29udGFpbmVyICsgZGl2LmZvb3Rlci1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbmRpdi5wcmUtZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDg3LjVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cblxuZGl2LnByZS1mb290ZXItY29udGFpbmVyIC53aWRnZXQge1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICBkaXYucHJlLWZvb3Rlci1jb250YWluZXIgLndpZGdldCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ib2R5LmhvbWUgZGl2LnByZS1mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5mb290ZXIge1xuICBtYXgtd2lkdGg6IDg3LjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgLmZvb3RlciBhcnRpY2xlIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5mb290ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY2FyZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5jYXJkcy1jb250YWluZXIgLmNhcmQge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjdyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM1cmVtOyB9IH1cblxuLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1pbi1oZWlnaHQ6IDYuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgbWluLWhlaWdodDogMTIuNXJlbTsgfSB9XG5cbi5kb3R0ZWQsIC5zZWN0aW9uLWRpdmlkZXIgaHIge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZyb250LWhlcm8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICBwYWRkaW5nOiA0LjA2MjVyZW0gMDtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgbWF4LXdpZHRoOiA1NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5mcm9udC1oZXJvIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LWxhcmdlLnN2Z1wiKSBib3R0b20gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGhlaWdodDogNDIuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDQuNXJlbTsgfSB9XG4gIC5mcm9udC1oZXJvIC53YXRjaCB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGEge1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3N0YXJnYXplcnMgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3R3aXR0ZXIgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG4gIC5mcm9udC1oZXJvIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLmZyb250LWhlcm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDIuODc1cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gaDQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cbiAgLmZyb250LWhlcm8gLmRvd25sb2FkIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG5cbi5pbnRybyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5pbnRybyAuZnAtaW50cm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5pbnRybyAuZnAtaW50cm8ge1xuICAgICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgICAgICAgLmludHJvIC5mcC1pbnRybyBoMiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAgICAgLmludHJvIC5mcC1pbnRybyBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmJlbmVmaXRzIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYmVuZWZpdHMgaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgLmJlbmVmaXRzIC5zZW1hbnRpYyxcbiAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5iZW5lZml0cyAuc2VtYW50aWMsXG4gICAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gICAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBpbWcsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIGltZyxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIGgzLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBoMyxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBoMyxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBoMyB7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIHAsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIHAsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgcCxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5iZW5lZml0cyAud2h5LWZvdW5kYXRpb24ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgJG9sZC16Zi1zaXplOiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gdjYuNC4xXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MXB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGxpZ2h0ZW4oJGRhcmstbmF2LWNvbG9yLCA1JSk7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI4MHB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwcmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMzBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxuICBAZWxzZWlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbiAgQGVsc2VpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG4gIEBlbHNlaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXItcGFkZGluZztcbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+ICN7JC16Zi1zaXplfS1zaHJpbmssID4gI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAjeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skLXpmLXNpemV9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAjeyQtemYtc2l6ZX0tc2hyaW5rLCA+ICN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15JylcbiAgfVxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG5cbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXJcbikge1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBBZGQgcGFkZGluZyB0byB5b3VyIGNvbnRhaW5lciwgdXAgdG8gYSBwYXJ0aWN1bGFyIHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXItcGFkZGluZyhcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nLFxuICAkbWF4OiAkZ3JpZC1jb250YWluZXItbWF4XG4pIHtcbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRwYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRwYWRkaW5nKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUgLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUgLyAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkcGFkZGluZykgPT0gJ251bWJlcicpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCRwYWRkaW5nKSAvIDI7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJHBhZGRpbmcpIC8gMjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgLy8gSWYgZ3V0dGVycyA9IG1hcFxuICAgIEBpZih0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgICAgLy8gSWYgJGd1dHRlcnMgbWFwIGhhcyBhIGtleSA9ICRicmVha3BvaW50LCBvdXRwdXQgdGhlIHZhbHVlXG4gICAgICBAaWYgKG1hcC1oYXMta2V5KCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJZiBub3QgYSBtYXBcbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlci10eXBlOiAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgfVxuXG4gICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlXG4pIHtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgfVxuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIFxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIFxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiJGRhcmstbmF2LWNvbG9yOiAjMkMzODQwO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG4vLyBHbG9iYWxcbkBpbXBvcnQgXCJnbG9iYWwvX2FjY2Vzc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuQGltcG9ydCBcImdsb2JhbC9hbGxvbnN5LWNvcmVcIjtcbkBpbXBvcnQgXCJnbG9iYWwvYnMtcG9wdXBcIjtcbkBpbXBvcnQgXCJnbG9iYWwvaW5zdGFmZWVkXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3NsaWNrXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dvb2NvbW1lcmNlXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2JzLXN0eWxlc1wiO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2VkaXRvci1zdHlsZVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RpdmlkZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saW5rc1wiO1xuXG4vLyBUZW1wbGF0ZXNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbi8vIEBpbXBvcnQgXCJ0ZW1wbGF0ZXMva2l0Y2hlbi1zaW5rXCI7XG4iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvKioqKiBUQUJMRSBPRiBDT05URU5UUyAqKioqXG5cbjAwLiBWQVJJQUJMRVNcbjAuIEFDQ0VTU0lCSUxUWSBUT09MQkFSIFNUWUxFU1xuMS4gUFJFTE9BREVSIFNUWUxFU1xuMi4gR0VORVJBTCBTVFlMRVNcbjMuIEhFQURFUiBTVFlMRVNcbiAgM2EuIEhlYWRlciBPcHRpb24gT25lIFN0eWxlc1xuICAzYi4gSGVhZGVyIE9wdGlvbiBUd28gU3R5bGVzXG4gIDNjLiBIZWFkZXIgT3B0aW9uIFRocmVlIFN0eWxlc1xuICAzZC4gSGVhZGVyIE9wdGlvbiBGb3VyIFN0eWxlc1xuICAzZS4gTW9iaWxlIE9mZi1DYW52YXMgTWVudSBTdHlsZXNcbiAgM2YuIE1vYmlsZSBUb3AgQmFyIE1lbnUgU3R5bGVzXG4gIDNnLiBTdGlja3kgSGVhZGVyIFN0eWxlc1xuICAzaC4gSGVhZGVyIE92ZXJyaWRlc1xuXG40LiBIT01FIFBBR0UgU1RZTEVTXG5cbjUuIElOVEVSTkFMIFBBR0UgU1RZTEVTXG4gIDVhLiBCcmVhZGNydW1icyBTdHlsZXNcbiAgNWIuIFBhZ2UgVGl0bGUgYW5kIFRpdGxlIEJhciBTdHlsZXNcbiAgNWMuIERlZmF1bHQgUGFnZSBUZW1wbGF0ZSBTdHlsZXNcbiAgNWQuIEZ1bGwgV2lkdGggUGFnZSBUZW1wbGF0ZSBTdHlsZXNcbiAgNWUuIFBvc3QgTmF2aWdhdGlvbiBGb290ZXIgU3R5bGVzXG4gIDVmLiBMZWZ0IFNpZGViYXIgUGFnZSBUZW1wbGF0ZSBTdHlsZXNcbiAgNWcuIFNpZGViYXIgU3R5bGVzXG4gIDVoLiBTb2NpYWwgU2hhcmluZyBTaG9ydGNvZGUgU3R5bGVzXG4gIDVpLiBHYWxsZXJ5IFNob3J0Y29kZSBTdHlsZXNcbiAgNWouIFBhZ2luYXRpb24gU3R5bGVzXG4gIDVrLiBHcmF2aXR5IEZvcm0gU3R5bGVzXG5cbjYuIEJMT0cgUEFHRSBBTkQgU0lOR0xFIEJMT0cgUE9TVCBTVFlMRVNcbiAgNmEuIEJsb2cgTG9vcCBTaG9ydGNvZGUgU3R5bGVzXG4gIDZiLiBDb21tZW50cyBTZWN0aW9uIFN0eWxlc1xuICA2Yy4gQUpBWCBCbG9nIExvb3AgU2hvcnRjb2RlIFN0eWxlc1xuXG43LiBQT1JURk9MSU8gU1RZTEVTXG5cbjguIFNFUlZJQ0VTIFNUWUxFU1xuXG45LiBTVEFGRiBTVFlMRVNcblxuMTAuIDQwNCBQQUdFIFNUWUxFU1xuXG4xMS4gRk9PVEVSIFNUWUxFU1xuXG4qKiBFTkQgVEFCTEUgT0YgQ09OVEVOVFMgKiovXG5cblxuLyoqKiogMDAuIFZBUklBQkxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9icy12YXJpYWJsZXNcIjtcblxuLyoqKiogMC4gQUNDRVNTSUJJTFRZIFRPT0xCQVIgU1RZTEVTICoqKiovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLWExMXlcIjtcblxuLyoqKiogMS4gUFJFTE9BREVSIFNUWUxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9wcmVsb2FkZXJcIjtcblxuLyoqKiogMi4gR0VORVJBTCBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvZ2VuZXJhbC1zdHlsZXNcIjtcblxuLyoqKiogMy4gSEVBREVSIFNUWUxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9oZWFkZXJcIjtcblxuLyogM2EuIEhlYWRlciBPcHRpb24gT25lIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9oZWFkZXItb25lXCI7XG5cbi8qIDNiLiBIZWFkZXIgT3B0aW9uIFR3byBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvaGVhZGVyLXR3b1wiO1xuXG4vKiAzYy4gSGVhZGVyIE9wdGlvbiBUaHJlZSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvaGVhZGVyLXRocmVlXCI7XG5cbi8qIDNkLiBIZWFkZXIgT3B0aW9uIEZvdXIgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2hlYWRlci1mb3VyXCI7XG5cbi8qIDNlLiBNb2JpbGUgT2ZmLUNhbnZhcyBNZW51IFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9vZmYtY2FudmFzXCI7XG5cbi8qIDNmLiBNb2JpbGUgVG9wIEJhciBNZW51IFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9tZW51LXRvcC1iYXJcIjtcblxuLyogM2cuIFN0aWNreSBIZWFkZXIgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL3N0aWNreS1oZWFkZXJcIjtcblxuLyogM2guIEhlYWRlciBPdmVycmlkZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvaGVhZGVyLW92ZXJyaWRlc1wiO1xuXG5cbi8qKioqIDQuIEhPTUUgUEFHRSBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvaG9tZS1wYWdlXCI7XG5cblxuLyoqKiogNS4gSU5URVJOQUwgUEFHRSBTVFlMRVMgKioqKi9cbi8qIDVhLiBCcmVhZGNydW1icyBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtYnJlYWRjcnVtYnNcIjtcblxuLyogNWIuIFBhZ2UgVGl0bGUgYW5kIFRpdGxlIEJhciBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtdGl0bGUtc3R5bGVzXCI7XG5cbi8qIDVjLiBEZWZhdWx0IFBhZ2UgVGVtcGxhdGUgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2RlZmF1bHQtcGFnZS1zdHlsZXNcIjtcblxuLyogNWQuIEZ1bGwgV2lkdGggUGFnZSBUZW1wbGF0ZSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvZnVsbC13aWR0aC1wYWdlLXN0eWxlc1wiO1xuXG4vKiA1ZS4gUG9zdCBOYXZpZ2F0aW9uIEZvb3RlciBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvcG9zdC1uYXZcIjtcblxuLyogNWYuIExlZnQgU2lkZWJhciBQYWdlIFRlbXBsYXRlIFN0eWxlcyAqL1xuXG4vKiA1Zy4gU2lkZWJhciBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvc2lkZWJhci1zdHlsZXNcIjtcblxuLyogNWguIFNvY2lhbCBTaGFyaW5nIFNob3J0Y29kZSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvc29jaWFsLXNoYXJlXCI7XG5cbi8qIDVpLiBHYWxsZXJ5IFNob3J0Y29kZSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvZ2FsbGVyeS1zaG9ydGNvZGVcIjtcblxuLyogNWouIFBhZ2luYXRpb24gU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLXBhZ2luYXRpb25cIjtcblxuLyogNWsuIEdyYXZpdHkgRm9ybSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtZ3Jhdml0eS1mb3Jtc1wiO1xuXG5cbi8qKioqIDYuIEJMT0cgUEFHRSBBTkQgU0lOR0xFIEJMT0cgUE9TVCBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtYmxvZy1zdHlsZXNcIjtcblxuLyogNmEuIEJsb2cgTG9vcCBTaG9ydGNvZGUgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2Jsb2ctbG9vcC1zaG9ydGNvZGVcIjtcblxuLyogNmIuIENvbW1lbnRzIFNlY3Rpb24gU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLWNvbW1lbnRzXCI7XG5cbi8qIDZjLiBBSkFYIEJsb2cgTG9vcCBTaG9ydGNvZGUgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2FqYXgtYmxvZy1sb29wLXNob3J0Y29kZVwiO1xuXG4vKioqKiA3LiBQT1JURk9MSU8gU1RZTEVTICoqKiovXG4vLyBAaW1wb3J0IFwiZ2xvYmFsL2JzLXBvcnRmb2xpb1wiO1xuXG5cbi8qKioqIDguIFNFUlZJQ0VTIFNUWUxFUyAqKioqL1xuLy8gQGltcG9ydCBcImdsb2JhbC9icy1zZXJ2aWNlc1wiO1xuXG5cbi8qKioqIDkuIFNUQUZGIFNUWUxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9icy1zdGFmZlwiO1xuXG5cbi8qKioqIDEwLiA0MDQgUEFHRSBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvNDA0LXN0eWxlc1wiO1xuXG5cbi8qKioqIDExLiBGT09URVIgU1RZTEVTICoqKiovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLWZvb3RlclwiO1xuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImdsb3NzLWJsb29tXCI7XG4gIHNyYzogdXJsKFwiL3RheWxvcnMvd3AtY29udGVudC90aGVtZXMvYWxsb25zeTIvc3JjL2Fzc2V0cy9mb250cy9HbG9zc19BbmRfQmxvb20udHRmXCIpO1xufVxuJGZ1dHVyYTogJ0Z1dHVyYSBDb25kZW5zZWQnLCAnZnV0dXJhLXB0LWNvbmRlbnNlZCcsICdBcmlhbCBOYXJyb3cnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJG1yc2VhdmVzOiAnbXJzLWVhdmVzJywgR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuJGdsb3NzYmxvb206ICdnbG9zcy1ibG9vbScsICdBcmlhbCBOYXJyb3cnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJHB1cnBsZTogIzJjMmI3OTtcbiRwdXJwbGVhbHBoYTogcmdiYSg0NCw0MywxMjEsLjc1KTtcbiRkYXJrcHVycGxlOiAjMTcxYzM4O1xuJGRhcmtwdXJwbGVhbHBoYTogcmdiYSgyMywyOCw1NiwuNzUpO1xuJGx0Ymx1ZTogIzgzODNhNDtcbiRyZWQ6ICNlYzIwMjc7XG4kYnVyZ3VuZHk6ICM2NDIwMjc7XG4kYnVyZ3VuZHlhbHBoYTogcmdiYSgxMDAsMzIsMzksLjg3KTtcbiR3aGl0ZTogI0ZGRkZGRjtcbiR3aGl0ZWFscGhhOiByZ2JhKDI1NSwyNTUsMjU1LC45MCk7XG4kYmxhY2s6ICMwMDAwMDA7XG4kYWxtb3N0YmxhY2s6ICMzMzMzMzM7XG4kc2hhZG93OiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLC41KTtcbiRncmF5OiAjNWM1YjViO1xuJGdyZWVuOiAjMDA2NTM2O1xuJGx0Z3JheTogI2YyZjJmMjtcbiRnb2xkOiAjYjk5YzAwO1xuJHllbGxvdzogI2VjZTgxMDtcbiRsdHllbGxvdzogI2ZlZjNhMTtcblxuLy8gU29jaWFsIE1lZGlhIENvbG9yc1xuJGZhY2Vib29rOiAjM2I1OTk4O1xuJHR3aXR0ZXI6ICMwMGFjZWQ7XG4kZ29vZ2xlcGx1czogI2RkNGIzOTtcbiRsaW5rZWRpbjogIzAwN2JiNjtcbiRwaW50ZXJlc3Q6ICNjYjIwMjc7XG5cbi8vIEJyZWFrcG9pbnQgdmFyaWFibGVzXG4kYnJlYWsxOTAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTguNzVlbSlcIjtcbiRicmVhazE2MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMGVtKVwiO1xuJGJyZWFrMTcwMDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2LjI1ZW0pXCI7XG4kYnJlYWsxNDAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny41ZW0pXCI7XG4kYnJlYWsxMjAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NWVtKVwiO1xuJGJyZWFrMTAyNDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSlcIjtcbiRtaW5icmVhazEwMjU6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSlcIjtcbiRicmVhazk3MjogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuNzVlbSlcIjtcbiRicmVhazk1MTogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTkuNDM3NWVtKVwiO1xuJGJyZWFrOTAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Ni4yNWVtKVwiO1xuJGJyZWFrODAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MGVtKVwiO1xuJGJyZWFrNzgyOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzVlbSlcIjtcbiRicmVhazc2ODogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSlcIjtcbiRicmVhazc2NzogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKVwiO1xuJGJyZWFrNjQwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKVwiO1xuJGJyZWFrNjM5OiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pXCI7XG4kYnJlYWs2MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSlcIjtcbiRicmVhazQ4MDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSlcIjtcbiRicmVhazQwMDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSlcIjtcbiRicmVhazM3NTogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNDM3NWVtKVwiO1xuXG4vLyBGb250IHNpemUgdmFyaWFibGVzXG4kY3RhOiByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiRjdGE2Mzk6IHJlbS1jYWxjKDMyKSAhaW1wb3J0YW50O1xuJG1haW50aXRsZTogcmVtLWNhbGMoNTApICFpbXBvcnRhbnQ7XG4kbWFpbnRpdGxlNjM5OiByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiRoMTogcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG4kaDI6IHJlbS1jYWxjKDMyKSAhaW1wb3J0YW50O1xuJGgzOiByZW0tY2FsYygyOCkgIWltcG9ydGFudDtcbiRoNDogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4kaDU6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuJGg2OiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiRib2R5Y29weTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRhdHRyKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJGF0dHIgLjJzIGVhc2Utb3V0O1xuICAgICAtbW96LXRyYW5zaXRpb246ICRhdHRyIC4ycyBlYXNlLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0ciAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogJGF0dHIgLjJzIGVhc2Utb3V0O1xufVxuIiwiLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogcmVtLWNhbGMoLTk5OTkpO1xuXG4gICY6Zm9jdXMge1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IDdweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzAwNzNhYTtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLDAsMCwuNik7XG4gIH1cbn1cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZDogJGx0eWVsbG93O1xuICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygyMjApO1xuICBwYWRkaW5nOiByZW0tY2FsYyg2KSByZW0tY2FsYygxMCk7XG4gIHdpZHRoOiBhdXRvO1xuXG4gICYucmlnaHQ6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IHJlbS1jYWxjKDYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkbHR5ZWxsb3cgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAmLnJpZ2h0OmFmdGVyIHtcblxuICAgIGJvcmRlcjogaW5zZXQgcmVtLWNhbGMoOCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRwdXJwbGUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbmRpdiNhMTF5LXRvb2xiYXIge1xuICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuICBib3JkZXItcmFkaXVzOiAwIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpIDA7XG4gIC8vIGJveC1zaGFkb3c6IHJlbS1jYWxjKDEpIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDUpICRibGFjaztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDAyO1xuXG4gIGRpdiNhMTF5LWZvbnRzaXplLCBkaXYjYTExeS1jb250cmFzdCB7XG5cbiAgICBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuODUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYyg2KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJi5hMTF5LWZvbnRzaXplIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCByZW0tY2FsYyg0KSAwIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuICAgICAgfVxuICAgICAgJi5hMTF5LWNvbnRyYXN0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHJlbS1jYWxjKDQpIDA7XG4gICAgICB9XG4gICAgICAmLmExMXktYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJi5hMTF5LWZvbnRzaXplIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkbHRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNwYW5bZGF0YS10b29sdGlwXSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmExMXktbGVmdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgJi5iYWNrdG9wLWxlZnQge1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKDc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5hMTF5LXJpZ2h0IHtcbiAgICAvLyBib3gtc2hhZG93OiByZW0tY2FsYygtMSkgcmVtLWNhbGMoNCkgcmVtLWNhbGMoNSkgJGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDQpIDAgMCByZW0tY2FsYyg0KTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgJi5iYWNrdG9wLXJpZ2h0IHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYyg3NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2I2ExMXktZm9udHNpemUsIGRpdiNhMTF5LWNvbnRyYXN0IHtcblxuICAgICAgYnV0dG9uIHtcblxuICAgICAgICAmLmExMXktZm9udHNpemUge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDQpIDAgMCAwO1xuICAgICAgICB9XG4gICAgICAgICYuYTExeS1jb250cmFzdCB7XG4gICAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogMCAwIDAgcmVtLWNhbGMoMyk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqKiBUT0dHTEUgRk9OVFNJWkUgU1RZTEVTICoqKiovXG5odG1sLmExMXktZm9udHNpemUge1xuXG4gIC5icy1idG4sIC5idXR0b24sXG4gIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgYSxcbiAgLnRvcC1iYXItc29jaWFsIHVsIGxpLmN1c3RvbS1idXR0b24gYSxcbiAgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhLFxuICBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gIH1cbiAgcCwgYSwgbGksIHNwYW4sIHRpbWUsIHN0cm9uZywgZW0sIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICB9XG4gIGgyLCBoMiBzcGFuLCBoMiBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KSAhaW1wb3J0YW50O1xuICB9XG4gIGgzLCBoMyBzcGFuLCBoMyBhLFxuICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcbiAgfVxuICBoNCwgaDQgc3BhbiwgaDQgYSxcbiAgaDUsIGg1IHNwYW4sIGg1IGEsXG4gIGg2LCBoNiBzcGFuLCBoNiBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KSAhaW1wb3J0YW50O1xuICB9XG4gIG5hdi5vZmYtY2FudmFzIC5tZW51ID4gbGkgPiBhLFxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKC0xKTtcbiAgfVxuICBoZWFkZXIjbWFzdGhlYWQgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIGxpLFxuICAuYnJlYWRjcnVtYnMtd3JhcHBlciAjYnJlYWRjcnVtYnMgbGkgYSxcbiAgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iLFxuICBib2R5Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgc3Bhbi5zZXBhcmF0b3IsIGRpdi53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBzcGFuLnNlcGFyYXRvcixcbiAgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICB9XG4gIC5lbnRyeS1jb250ZW50IHtcblxuICAgIGZpZ3VyZS53cC1jYXB0aW9uIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgfVxuICBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCBpbnB1dCArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIGgxLmVudHJ5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICB9XG4gIGFzaWRlLnNpZGViYXIge1xuXG4gICAgLndpZGdldCB7XG5cbiAgICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGxpLCBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMikgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI2Zvb3Rlci1jb250YWluZXIge1xuXG4gICAgLnByZS1mb290ZXIge1xuXG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBwLCBhLCBsaSwgc3BhbiwgdGltZSwgc3Ryb25nLCBlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XG5cbiAgICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHAsIGEsIGxpLCBzcGFuLCB0aW1lLCBzdHJvbmcsIGVtIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuICAgICNjb3B5cmlnaHQge1xuXG4gICAgICBwLCBhLCBsaSwgc3BhbiwgdGltZSwgc3Ryb25nLCBlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5odG1sLmExMXktY29udHJhc3Qge1xuXG4gIGEsIGFiYnIsIGFydGljbGUsIGFzaWRlLCBiYXNlZm9udCwgYmRpLCBiaWcsIGJsaW5rLCBibG9ja3F1b3RlLCBib2R5LCBidXR0b24sIGNhbnZhcywgY2FwdGlvbiwgY2VudGVyLCBjb2RlLCBjb2wsIGNvbGdyb3VwLCBjb21tYW5kLCBkZCwgZGV0YWlscywgZGlyLCBkaXYsIGRsLCBkdCwgZW1iZWQsIGZpZWxkc2V0LCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvbnQsIGZvb3RlciwgZm9ybSwgaGVhZGVyLCBoZ3JvdXAsIGh0bWwsIGlmcmFtZSwgaW1nLCBpbnB1dCwga2JkLCBsYWJlbCwgbGVnZW5kLCBsaSwgbGlzdGluZywgbWFyaywgbWFycXVlZSwgbWVudSwgbWV0ZXIsIG11bHRpY29sLCBuYXYsIG5vYnIsIG9iamVjdCwgb2wsIG9wdGlvbiwgcCwgcGxhaW50ZXh0LCBwcmUsIHByb2dyZXNzLCBxLCBzLCBzZWN0aW9uLCBzZWxlY3QsIHNtYWxsLCBzcGFuLCBzdHJpa2UsIHN1Yiwgc3VtbWFyeSwgc3VwLCB0YWJsZSwgdGQsIHRleHRhcmVhLCB0aCwgdGltZSwgdHIsIHR0LCB1bCwgdmFyLCB4bXAsIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCAjbWFpbi1jb250YWluZXIgaDIsICNtYWluLWNvbnRhaW5lciBoMiBzcGFuLCAjbWFpbi1jb250YWluZXIgaDMsICNtYWluLWNvbnRhaW5lciBoMyBzcGFuLCAjbWFpbi1jb250YWluZXIgaDQsICNtYWluLWNvbnRhaW5lciBoNCBzcGFuLCAjbWFpbi1jb250YWluZXIgaDUsICNtYWluLWNvbnRhaW5lciBoNSBzcGFuLCAjbWFpbi1jb250YWluZXIgaDYsICNtYWluLWNvbnRhaW5lciBoNiBzcGFuLCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDEsIC5wcmUtZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciBoMiwgLnByZS1mb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIGgzLCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDQsIC5wcmUtZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciBoNSwgLnByZS1mb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIGg2LCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGgxLCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGgyLCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGgzLCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGg0LCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGg1LCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGg2LCBzcGFuLnJlcXVpcmVkLCBib2R5Lndvb2NvbW1lcmNlIHNwYW4ucmVxdWlyZWQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLnJlcXVpcmVkLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNGM0YzRjMgIWltcG9ydGFudDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogeWVsbG93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgI21haW4tY29udGFpbmVyIGEsIC5wcmUtZm9vdGVyLWNvbnRhaW5lciBhLCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGEsICNjb3B5cmlnaHQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBhcnRpY2xlLCBhc2lkZSwgYiwgYmFzZWZvbnQsIGJkaSwgYmlnLCBibGluaywgYmxvY2txdW90ZSwgYm9keSwgY2FudmFzLCBjYXB0aW9uLCBjZW50ZXIsIGNpdGUsIGNvZGUsIGNvbCwgY29sZ3JvdXAsIGNvbW1hbmQsIGRkLCBkZXRhaWxzLCBkZm4sIGRpciwgZGl2LCBkbCwgZHQsIGVtLCBlbWJlZCwgZmllbGRzZXQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9udCwgZm9vdGVyLCBmb3JtLCBoMSwgaDEgYSwgaDEgYSBiLCBoMSBhYmJyLCBoMSBjZW50ZXIsIGgxIHNwYW4sIGgyLCBoMiBhLCBoMiBhIGIsIGgyIGFiYnIsIGgyIGNlbnRlciwgaDIgc3BhbiwgaDMsIGgzIGEsIGgzIGEgYiwgaDMgYWJiciwgaDMgY2VudGVyLCBoMyBzcGFuLCBoNCwgaDQgYSwgaDQgYSBiLCBoNCBhYmJyLCBoNCBjZW50ZXIsIGg0IHNwYW4sIGg1LCBoNSBhLCBoNSBhIGIsIGg1IGFiYnIsIGg1IGNlbnRlciwgaDUgc3BhbiwgaDYsIGg2IGEsIGg2IGEgYiwgaDYgYWJiciwgaDYgY2VudGVyLCBoNiBzcGFuLCBoZWFkZXIsIGhncm91cCwgaHRtbCwgaSwgaWZyYW1lLCBpbnB1dCwga2JkLCBsYWJlbCwgbGVnZW5kLCBsaSwgbGlzdGluZywgbWFyaywgbWFycXVlZSwgbWVudSwgbWV0ZXIsIG11bHRpY29sLCBuYXYsIG5vYnIsIG9iamVjdCwgb2wsIG9wdGlvbiwgcCwgcGxhaW50ZXh0LCBwcmUsIHByb2dyZXNzLCBxLCBzLCBzZWN0aW9uLCBzbWFsbCwgc3Bhbiwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VtbWFyeSwgc3VwLCB0YWJsZSwgdGQsIHRleHRhcmVhLCB0aCwgdGltZSwgdHIsIHR0LCB1LCB1bCwgdmFyLCB4bXAsIC5icy1idG4sIC5idXR0b24sIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0YzRjNGMyAhaW1wb3J0YW50O1xuICB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG4gIGltZyB7XG4gICAgYmFja2dyb3VuZDogIzgwODA4MCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODAgIWltcG9ydGFudDtcbiAgICBtaXgtYmxlbmQtbW9kZTogdW5zZXQgIWltcG9ydGFudDtcbiAgfVxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRibGFjaztcbiAgfVxuICBib2R5Lndvb2NvbW1lcmNlIHNwYW4ub25zYWxlOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJsYWNrO1xuICB9XG59XG4iLCIjcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogI0ZGRjtcblxuICAucHJlbG9hZGVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAjeyRicmVhazQ4MH0ge1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgIH1cbiAgfVxuICAubGV0dGVyLWhvbGRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbiAgLmxldHRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJHB1cnBsZTtcbiAgfVxuICAuYW5pbWF0ZS1sb2FkaW5nIHtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gbGVmdDogNTAlO1xuICAgIC8vIHRvcDogNDAlO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIC5hbmltYXRlLWxvYWRpbmcgLmxldHRlciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRpbmdGO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS42cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBsaW5lYXI7XG4gIH1cbiAgLmwtMSB7IGFuaW1hdGlvbi1kZWxheTogLjQ4czsgfVxuICAubC0yIHsgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IH1cbiAgLmwtMyB7IGFuaW1hdGlvbi1kZWxheTogLjcyczsgfVxuICAubC00IHsgYW5pbWF0aW9uLWRlbGF5OiAuODRzOyB9XG4gIC5sLTUgeyBhbmltYXRpb24tZGVsYXk6IC45NnM7IH1cbiAgLmwtNiB7IGFuaW1hdGlvbi1kZWxheTogMS4wOHM7IH1cbiAgLmwtNyB7IGFuaW1hdGlvbi1kZWxheTogMS4yczsgfVxuICAubC04IHsgYW5pbWF0aW9uLWRlbGF5OiAxLjMyczsgfVxuICAubC05IHsgYW5pbWF0aW9uLWRlbGF5OiAxLjQ0czsgfVxuICAubC0xMCB7IGFuaW1hdGlvbi1kZWxheTogMS41NnM7IH1cblxuICBAa2V5ZnJhbWVzIGxvYWRpbmdGIHtcbiAgICAwJSB7b3BhY2l0eTogMDt9XG4gICAgMTAwJSB7b3BhY2l0eTogMTt9XG4gIH1cbn1cbi5hZG1pbi1iYXIgI3ByZWxvYWRlciBpbWcge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICB9XG59XG4iLCIqIHtcbiAgLXdlYmtpdC1oeXBoZW5zOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otaHlwaGVuczogbm9uZSAhaW1wb3J0YW50O1xuICBoeXBoZW5zOiBub25lICFpbXBvcnRhbnQ7XG59XG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDMpIHNvbGlkICRyZWQ7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI4KTtcbiAgcGFkZGluZzogMCAwIDAgcmVtLWNhbGMoMTUpO1xuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgfVxufVxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0LFxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG59XG5hW2hyZWZePXRlbF0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xufVxuYSwgc3Bhbjpub3QoLmZhKTpub3QoLmZhcyk6bm90KC5mYXIpOm5vdCguZmFiKTpub3QoLmRhc2hpY29ucyk6bm90KC5wcmljZSk6bm90KC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIpOm5vdCguc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkKSwgdGltZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5wLCBsaSB7XG4gIGZvbnQtZmFtaWx5OiAkbXJzZWF2ZXM7XG59XG4ucGlwZS1zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgbWFyZ2luOiAwIHJlbS1jYWxjKDYpO1xufVxuYnV0dG9uLm1lbnUtaWNvbiB7XG4gIGFsaWduLWl0ZW1zOiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogJHB1cnBsZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAxcmVtO1xuICAvLyBsaW5lLWhlaWdodDogNC4yNTtcbiAgLy8gbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEwKTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIHdpZHRoOiByZW0tY2FsYygzNik7XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBzcGFuLm1lbnUtaWNvbi1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoOCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgfVxuICBzcGFuLmtlZXAtdG9nZXRoZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgaSB7XG4gICAgICAvLyBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICBsaW5lLWhlaWdodDogMC43O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IHJlbS1jYWxjKDEpO1xuICAgIH1cbiAgfVxuICAmLmFjdGl2ZSB7XG5cbiAgICBzcGFuLm1lbnUtaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICB9XG4gICAgc3Bhbi5tZW51LWljb24tYmFyLTEge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICBzcGFuLm1lbnUtaWNvbi1iYXItMiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBzcGFuLm1lbnUtaWNvbi1iYXItMyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTQpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgc3Bhbi5rZWVwLXRvZ2V0aGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgIH1cbiAgfVxuICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICAgIHNwYW4ubWVudS1pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIH1cbiAgfVxufVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICYuYWxpZ25jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAmLmFsaWdubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAmLmFsaWducmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5oMiwgaDIgc3BhbiB7XG4gIGZvbnQtc2l6ZTogJGgyO1xufVxuaDMsIGgzIHNwYW4ge1xuICBmb250LXNpemU6ICRoMztcbn1cbmg0LCBoNCBzcGFuIHtcbiAgZm9udC1zaXplOiAkaDQ7XG59XG5oNSwgaDUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogJGg1O1xufVxuaDYsIGg2IHNwYW4ge1xuICBmb250LXNpemU6ICRoNjtcbn1cbi5hbGlnbnJpZ2h0LCAuYWxpZ25sZWZ0LCAuYWxpZ25jZW50ZXIsIC5hbGlnbm5vbmUge1xuICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5maWd1cmUge1xuXG4gICYuYWxpZ25yaWdodCwgJi5hbGlnbmxlZnQsICYuYWxpZ25jZW50ZXIsICYuYWxpZ25ub25lIHtcblxuICAgIGltZyB7XG4gICAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zZWN0aW9uLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogJGdsb3NzYmxvb20gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiByZW0tY2FsYygxNzApO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEpICFpbXBvcnRhbnQ7XG5cbiAgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiByZW0tY2FsYygxNzApO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDIpICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL3NlY3Rpb24taGVhZGluZy11bmRlcmxpbmUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTcwKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAmLmFsaWduY2VudGVyIHtcblxuICAgIHNwYW4uc2VjdGlvbi1oZWFkaW5nLWlubmVyIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmFsaWducmlnaHQge1xuXG4gICAgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXIge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zdHlsZTIge1xuXG4gICAgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXIge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzA0L3NlY3Rpb24taGVhZGluZy11bmRlcmxpbmUtdjIuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE3MCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuc3Bhbi5zdWItdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA2NSU7XG4gIG1hcmdpbjogMC42MjVyZW0gMDtcbn1cbi5wbDE1IHtcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbn1cbi5wcjE1IHtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG59XG4ubXQxNSB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xufVxuLm1iMTUge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbn1cbi52Y2FyZCBhYmJyIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHRleHQgIWltcG9ydGFudDtcbn1cbi52Y2FyZCAudHlwZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50ICNtYXN0aGVhZCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAvL3BhZGRpbmc6IDAgMC45Mzc1cmVtO1xufVxudWwucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgc3Bhbi5jdXJyZW50IHtcblxuICAgIH1cbiAgICBhIHtcblxuICAgIH1cbiAgfVxufVxuXG4vKiBGb3VuZGF0aW9uIDYgVGFicyBTdHlsZXMgKi9cbi50YWJzIHtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgLy9ib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygtMSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nKTtcbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkbHRncmF5O1xuICAgICAgICBib3gtc2hhZG93OiAwIHJlbS1jYWxjKC0yKSByZW0tY2FsYyg3KSAjMDAxZTYxO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmlzLWFjdGl2ZSB7XG5cbiAgICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkbHRncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAvLyBwYWRkaW5nOiByZW0tY2FsYygxNykgcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAjZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG59XG4uaGlkZS1mb3Itbm93IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBzcGVhazogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbn1cbi50aGUtdGFncyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMi41cmVtIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgfVxufVxuLmtlZXAtdG9nZXRoZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cbmJvZHkubW9kYWwtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmZvcm0jc2VhcmNoZm9ybSB7XG4gIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIiwgJ2ZvbnRhd2Vzb21lJztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogcmVtLWNhbGMoOCk7XG4gICAgdG9wOiByZW0tY2FsYyg1KTtcbiAgfVxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuICBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgIGJhY2tncm91bmQ6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4uYnMtYnRuLCAuZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbiwgI3Jlc3BvbmQgLmJ1dHRvbiwgLnRyaWJlLWV2ZW50cy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwMCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGZ1dHVyYSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIxKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDcpIHJlbS1jYWxjKDMwKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xufVxuLmJzLWJ0bi5icy1idG4td2hpdGUge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHdoaXRlO1xuICBjb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xufVxuLmJzLWJ0bi5icy1idG4td2hpdGU6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi13aGl0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICRibGFjaztcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cbi5icy1idG4uYnMtYnRuLXJlZCxcbi5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uLFxuI3Jlc3BvbmQgLmJ1dHRvbixcbi50cmliZS1ldmVudHMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogJHJlZCAhaW1wb3J0YW50O1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRyZWQgIWltcG9ydGFudDtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmJzLWJ0bi5icy1idG4tcmVkOmhvdmVyLFxuLmJzLWJ0bi5icy1idG4tcmVkOmZvY3VzLFxuLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b246aG92ZXIsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbjpmb2N1cyxcbiNyZXNwb25kIC5idXR0b246aG92ZXIsXG4jcmVzcG9uZCAuYnV0dG9uOmZvY3VzLFxuLnRyaWJlLWV2ZW50cy1idXR0b246aG92ZXIsXG4udHJpYmUtZXZlbnRzLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibHVlIHtcbiAgYmFja2dyb3VuZDogJHB1cnBsZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGUgIWltcG9ydGFudDtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmJzLWJ0bi5icy1idG4tYmx1ZTpob3Zlcixcbi5icy1idG4uYnMtYnRuLWJsdWU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmJzLWJ0bi5icy1idG4tY2xlYXIge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZSAhaW1wb3J0YW50O1xuICBjb2xvcjogJGRhcmtwdXJwbGUgIWltcG9ydGFudDtcbn1cbi5icy1idG4uYnMtYnRuLWNsZWFyOmhvdmVyLFxuLmJzLWJ0bi5icy1idG4tY2xlYXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAkcmVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHJlZCAhaW1wb3J0YW50O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICRibGFjaztcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibGFjazpob3Zlcixcbi5icy1idG4uYnMtYnRuLWJsYWNrOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjaztcbiAgY29sb3I6ICRibGFjaztcbn1cbi5icy1idG46aG92ZXIsXG4uYnMtYnRuOmZvY3VzLFxuLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b246aG92ZXIsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbjpmb2N1cyxcbiNyZXNwb25kIC5idXR0b246aG92ZXIsXG4jcmVzcG9uZCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjaztcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbi5icy1idG5zLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5icy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTApIHJlbS1jYWxjKDEwKSAwIDtcblxuICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoNSkgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuaW1nLmxhenlsb2FkIHtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5pbWcubGF6eWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubWF4LXdpZHRoLXNpeHRlZW4taHVuZHJlZCB7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoMTYwMCkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWF4LXdpZHRoLWZvdXJ0ZWVuLWh1bmRyZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygxNDAwKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWF4LXdpZHRoLXR3ZWx2ZS1odW5kcmVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLm1heC13aWR0aC1lbGV2ZW4tc2V2ZW50eSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDExNzApO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYXgtd2lkdGgtbmluZS1zZXZlbnR5IHtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYyg5NzApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLm1heC13aWR0aC1laWdodC10aGlydHkge1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgzMCkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWF4LXdpZHRoLWVpZ2h0LWh1bmRyZWQge1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwMCkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uZW50cnktY29udGVudCB7XG4gIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICB9XG4gIGgyICsgaDMsIGgzICsgaDQsIGg0ICsgaDUsIGg1ICsgaDYge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbiAgZmlndXJlLndwLWNhcHRpb24ge1xuXG4gICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0KTtcbiAgICB9XG4gIH1cbiAgdWwucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgfVxuICB1bC5yb3cgbGkuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIHVsLnJvdyAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIHVsLnJvdyAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICBvbC5yb3cgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICBvbC5yb3cgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgcCArIHVsLCBwICsgb2wge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0yMCk7XG4gIH1cbn1cbi5yZWFkYWJsZS1saW5lLWxlbmd0aCB7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udGV4dC1hbGlnbi1jZW50ZXIsIC50ZXh0LWFsaWduLWNlbnRlciAqIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJlYWRhYmxlLWxpbmUtbGVuZ3RoLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgI3skYnJlYWs2Mzl9IHtcbiAgaHRtbCAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQsXG4gIGh0bWwgLm1haW4td3JhcCAuc2lkZWJhciB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgfVxufVxuI2NvcHlyaWdodCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIC5zbWFsbC0xMi5tZWRpdW0tMTIubGFyZ2UtNyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jYmFjay10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuXG4gIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgb3BhY2l0eTogLjc1O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogcmVtLWNhbGMoNDUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgJi5iYWNrdG9wLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSAwIDAgcmVtLWNhbGMoNCk7XG4gICAgfVxuICB9XG4gICYuYmFja3RvcC1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpIDA7XG4gICAgfVxuICB9XG4gICYuYmFja3RvcC1jZW50ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSByZW0tY2FsYyg0KSAwIDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuICB9XG59XG4iLCJoZWFkZXIjbWFzdGhlYWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCByZW0tY2FsYyg4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1vdXQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5O1xuICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTApIDAgcmVtLWNhbGMoOCkgIWltcG9ydGFudDtcbiAgfVxuXG4gICNoZWFkZXItaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIge1xuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICB9XG4gIG5hdi50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLnRvcC1iYXItdG9wIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXItbGVmdCB7XG5cbiAgICB9XG4gICAgLnRvcC1iYXItcmlnaHQge1xuXG4gICAgfVxuICAgIC50b3AtYmFyLWJvdHRvbSB7XG5cbiAgICB9XG4gICAgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygxNSkgMDtcblxuICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgICAgei1pbmRleDogOTk7XG5cbiAgICAgICAgICAmLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAvLyB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCkgMCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDgpIDAgMCAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYudGVsZXBob25lIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5jdXN0b20tYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMDApO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyLFxuICAgIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyLFxuICAgIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcblxuICAgICAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQwKSAwIDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMCAwIDA7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMCk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTApO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMjApO1xuICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCNzIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0I3M6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICAgIGlucHV0I3M6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICAgIGlucHV0I3M6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgICAgaW5wdXQjczotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQjc2VhcmNoc3VibWl0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTIpIDAgMCAwO1xuXG4gICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSB7XG5cbiAgICAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBpbWcuY3VzdG9tLWxvZ28sIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTApIDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuYWx0LW5hdi1teS1jYXJ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGEge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvL2JhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIC8vY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNykgcmVtLWNhbGMoMTUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIC8vYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB9XG4gICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDUpO1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAmID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtYWN0aXZlID4gYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRlc2t0b3AtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLmRlc2t0b3AtbWVudS5tZW51ID4gbGkgPiBhIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcbiAgICB9XG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5kZXNrdG9wLW1lbnUubWVudSA+IGxpOmxhc3Qtb2YtdHlwZSB1bC5kcm9wZG93biB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAubWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5tZW51IC5kcm9wZG93biB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gIH1cbiAgLm1lbnUgLmRyb3Bkb3duIGxpIGEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTMpICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgfVxuICAubWVudSAuZHJvcGRvd24gbGkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCk7XG4gIH1cbiAgLm1lbnUgLmRyb3Bkb3duIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gIC5tZW51IC5kcm9wZG93biBsaTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWVudSA+IGxpLmlzLWFjdGl2ZTpob3ZlciAuZHJvcGRvd24sXG4gIC5tZW51ID4gbGkuaXMtYWN0aXZlOmZvY3VzIC5kcm9wZG93bixcbiAgLm1lbnUgPiBsaTpmb2N1cy13aXRoaW4gLmRyb3Bkb3duIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuICAubWVudSA+IGxpLm9wZW5zLWxlZnQ6bGFzdC1jaGlsZCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbmF2LnRvcC1iYXIuaGFzLXNlYXJjaCB7XG5cbiAgICAuZGVza3RvcC1tZW51IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICAgIC8vd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgI3skYnJlYWs2Mzl9IHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICB9XG59XG4iLCJoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUge1xuXG4gIC50b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgICAgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IHtcblxuICAgICAgICAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTguNzVyZW0pO1xuICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYWx0LW5hdi1teS1jYXJ0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2t0b3AtbWVudSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyLFxuICAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgICBpbnB1dCNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBuYXYudG9wLWJhci5oYXMtc2VhcmNoIHtcbiAgLy9cbiAgLy8gICB1bC5kZXNrdG9wLW1lbnUge1xuICAvLyAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xuICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAvLyAgIH1cbiAgLy8gfVxuICBuYXYudG9wLWJhciB7XG5cbiAgICAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIH1cbiAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAubG9nby13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgdWwubWVudSB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gLmRyb3Bkb3duLm1lbnUuZGVza3RvcC1tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy9tYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICYuc2hvdyB7XG5cbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg4KSAwIDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRvcC1iYXIge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudG9wLWJhci1zb2NpYWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsImhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXR3byB7XG5cbiAgLnRvcC1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuXG4gICAgICAgIC5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgaW1nLmN1c3RvbS1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuXG4gICAgICAgICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXItYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBuYXYudG9wLWJhci5oYXMtc2VhcmNoIHtcblxuICAgIHVsLmRlc2t0b3AtbWVudSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICB9XG4gIH1cbiAgbmF2LnRvcC1iYXIge1xuXG4gICAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgfVxuICAgICAgZm9ybSNzZWFyY2hmb3JtIHtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg4KSAwIDAgMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIge1xuXG4gICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAjeyRicmVhazc2N30ge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmxvZ28td3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5sb2dvLXdyYXBwZXIgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgdWwubWVudSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSAwO1xuICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gLmRyb3Bkb3duLm1lbnUuZGVza3RvcC1tZW51IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAjeyRicmVhazY0MH0ge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10d28ge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50b3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSB7XG5cbiAgLnRvcC1iYXIge1xuXG4gICAgLnRvcC1iYXItdG9wIHtcblxuICAgICAgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgIC5tZW51IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5kZXNrdG9wLW1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBvcmRlcjogMztcbiAgICAgIH1cbiAgICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC50b3AtYmFyLXNvY2lhbCB7XG5cbiAgICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICYudGVsZXBob25lIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBuYXYudG9wLWJhci5oYXMtc2VhcmNoIHtcblxuICAgIHVsLmRlc2t0b3AtbWVudSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICB9XG4gIH1cbiAgbmF2LnRvcC1iYXIge1xuXG4gICAgLmxvZ28td3JhcHBlciAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYWx0LW5hdi13cmFwcGVyIHtcblxuICAgICAgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICAgICAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgICAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgfVxuICAgICAgZm9ybSNzZWFyY2hmb3JtIHtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoOCkgMCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi10aHJlZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAubG9nby13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB1bC5tZW51IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiAuZHJvcGRvd24ubWVudS5kZXNrdG9wLW1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudG9wLWJhciB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciB7XG4gIHBhZGRpbmc6IDAgMCByZW0tY2FsYyg4KSAwICFpbXBvcnRhbnQ7O1xuXG4gIC50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAudG9wLWJhci10b3Age1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy9mbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoLTE1KSByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuODc1cmVtKTtcblxuICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm1lbnUgPiBsaSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDIpIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg4KTtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAvL2NvbG9yOiAkcmVkO1xuXG4gICAgICAgICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICAgIC8vY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICAgIC8vY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIC8vY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpOm5vdCguY3VzdG9tLWJ1dHRvbik6bm90KC50ZWxlcGhvbmUpIGEsIGxpLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpLnRlbGVwaG9uZSB7XG4gICAgICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIHtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG5cbiAgICAgICAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIC8vY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJHJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAvL2NvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50b3AtYmFyLW15LWNhcnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgLy9jb2xvcjogJHJlZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDEwKSByZW0tY2FsYyg3KTtcblxuICAgICAgICAgICAgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgICAvL2NvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIC8vY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIC8vY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuXG4gICAgICAgIC5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmRlc2t0b3AtbWVudSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgLnRvcC1iYXItc2VhcmNoIHtcblxuICAgICAgICAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNSkgMDtcblxuICAgICAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyLFxuICAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgICBpbnB1dCNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBuYXYudG9wLWJhci5oYXMtc2VhcmNoIHtcblxuICAgIHVsLmRlc2t0b3AtbWVudSB7XG4gICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKSAhaW1wb3J0YW50O1xuICAgICAgLy9tYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgbmF2LnRvcC1iYXIge1xuXG4gICAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICB9XG4gICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1mb3VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5sb2dvLXdyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAubG9nby13cmFwcGVyIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICBuYXYudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB1bC5tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiAuZHJvcGRvd24ubWVudS5kZXNrdG9wLW1lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL21heC13aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgLy9tYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcblxuICAgICAgJi5zaG93IHtcblxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDgpIDAgMCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tZm91ciB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRvcC1iYXIge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudG9wLWJhci1zb2NpYWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi50aXRsZS1iYXItbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAudGl0bGUtYmFyLXRpdGxlIHtcblxuICAgIGEuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjUwKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgaW1nLCBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmJvZHk6bm90KC50b3BiYXIpIG5hdi5zaXRlLW5hdmlnYXRpb24ge1xuICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbmJvZHkudG9wYmFyIGhlYWRlcjpub3QoLmhlYWRlci1vcHRpb24tb25lKSBuYXYuc2l0ZS1uYXZpZ2F0aW9uIHtcblxuICAudG9wLWJhci1yaWdodCwgLnRvcC1iYXItdG9wLCAudG9wLWJhci1ib3R0b20gLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tdGhyZWUgbmF2LnNpdGUtbmF2aWdhdGlvbiB7XG5cbiAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxubmF2Lm9mZi1jYW52YXMge1xuXG4gIGEuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcblxuICAgIGltZy5jdXN0b20tbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgJiAubWVudTpub3QoLm5lc3RlZCkgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAmID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApICFpbXBvcnRhbnQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MC4zOCk7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG4gICYgPiB1bC5tZW51IHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkuY3VycmVudF9wYWdlX3BhcmVudCB7XG5cbiAgICAgICYgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuICB1bC5tZW51LmFsdC1tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gICYgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEsXG4gIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbiAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMTUpIDA7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICB3aWR0aDogMTUuMjY4NzQlO1xuICAgIH1cbiAgICBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDE1KSAwIDAgMDtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkudG9wLWJhci1teS1jYXJ0IHtcbiAgICAgIHotaW5kZXg6IDk5OTtcblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMSkgcmVtLWNhbGMoNik7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4uY2FydC1jb250ZW50cy1jb3VudC0wIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgICAgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGxpLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgYXV0byByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg3KSByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgfVxuICAgIH1cbiAgICBpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICB9XG4gICAgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbjogMCAwIDAgcmVtLWNhbGMoNSk7XG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM0KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICBpbnB1dCNzIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpIDAgMCByZW0tY2FsYygzKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM0KTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUgLm1lbnUgPiBsaSA+IGEge1xuLy8gICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCAhaW1wb3J0YW50O1xuLy8gfVxuYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHtcblxuICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDAuMzgpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuICAmID4gdWwubWVudSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICB1bC5tZW51LmFsdC1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJiAubWVudTpub3QoLm5lc3RlZCkgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgMCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgJiAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgJiA+IGxpID4gYSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuICAmID4gLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLFxuICAuc3VibWVudSBsaS5pcy1hY3RpdmUgYSB7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cbiAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgYSwgaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgICBsaTpub3QoLmN1c3RvbS1idXR0b24pOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcbiAgICB9XG4gICAgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbGkubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQsXG4gICAgbGkuY3VzdG9tLWJ1dHRvbi5hbHQtbmF2LW15LWNhcnQge1xuXG4gICAgICBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgIH1cbiAgICAgIHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgcmVtLWNhbGMoNSk7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICBsaSBhLCBsaSBhIGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuICAuYWx0LW5hdi1teS1jYXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoNykgMCByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgfVxuICAgIH1cbiAgICBpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICB9XG4gICAgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbjogMCAwIDAgcmVtLWNhbGMoNSk7XG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM0KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQjcyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzkuOTM3NXJlbSkgeyAvLyBmb3Igc2NyZWVuIHNpemVzIGxhcmdlciB0aGFuIDY0MHB4IHdpZGUgb25seVxuICAjbWFzdGhlYWQge1xuICAgIHdpbGwtY2hhbmdlOiB0b3A7XG4gIH1cbiAgLy8gSGVhZGVyIE9wdGlvbiBPbmVcbiAgYm9keS5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAtMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjVzIGVhc2Utb3V0XG4gIH1cbiAgYm9keS5hZG1pbi1iYXIuc3RpY2t5LXByZXAgI21hc3RoZWFkLnN0aWNreS1oZWFkZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdG9wOiAtMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjVzIGVhc2Utb3V0O1xuICB9XG4gIGJvZHkuc3RpY2t5LWhlYWRlci5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gIH1cbiAgYm9keS5hZG1pbi1iYXIuc3RpY2t5LWhlYWRlci5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDMycHg7XG4gIH1cbn1cbiIsIi50b3AtYmFyIHtcblxuICAudG9wLWJhci1zb2NpYWwge1xuXG4gICAgbGkuY3VzdG9tLWJ1dHRvbiB7XG5cbiAgICAgIGEge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IHtcblxuICAgICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB9XG4gICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDUpO1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuXG4gICAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbmJvZHkudG9wYmFyIC5tZW51LWljb24sXG5ib2R5Lm9mZmNhbnZhcyAubWVudS1pY29uIHtcblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgcmVtLWNhbGMoNykgMCBpbmhlcml0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OiAwIHJlbS1jYWxjKDE0KSAwIGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICB9XG4gICYuYWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgJi5hY3RpdmU6YWZ0ZXIsXG4gICYuYWN0aXZlOmhvdmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCByZW0tY2FsYygxNCkgMCBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogcmVtLWNhbGMoLTkpO1xuICAgIHRvcDogcmVtLWNhbGMoLTUpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cbn1cbiIsIi5ob21lLWhlcm8td3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNTApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUwKTtcbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMjApO1xuICB9XG4gIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgfVxuICBAbWVkaWEgI3skYnJlYWs0ODB9IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gIH1cbiAgLmhvbWUtaGVyby1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygyMCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBoMiwgaDMge1xuICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbi5ob21lIC5tYWluLXdyYXAuZnVsbC13aWR0aCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgLmhvbWUgLm1haW4td3JhcCAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1haW4td3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuXG4gICNicmVhZGNydW1icyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSAwO1xuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogJGZ1dHVyYSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkuc2VwYXJhdG9yIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbn1cbiIsImgxLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAkbWFpbnRpdGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICBmb250LXNpemU6ICRtYWludGl0bGU2Mzk7XG4gIH1cbn1cbi5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IHJlbS1jYWxjKDMpIHNvbGlkICRyZWQ7XG4gIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDMpIHNvbGlkICRyZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICB0b3A6IGF1dG87XG4gIH1cbiAgaDEuZW50cnktdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtc2hhZG93OiAwIHJlbS1jYWxjKDIpIHJlbS1jYWxjKDEpICRibGFjaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIHRpbWUsIHAuYnlsaW5lLmF1dGhvciwgcC5icy1wb3N0LWRhdGUsIHAuYnMtcG9zdC1jYXRzLCBwLmJzLXBvc3QtY29tbWVudHMsIHAuc2VhcmNoLXF1ZXJ5LCB1bCBsaSwgc3BhbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDAgcmVtLWNhbGMoMikgcmVtLWNhbGMoMSkgJGJsYWNrO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwIDAgcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuICAuYmxvZy1tZXRhIHtcblxuICAgIHAuYnMtcG9zdC1kYXRlIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICBwLmJ5bGluZS5hdXRob3Ige1xuICAgICAgb3JkZXI6IDI7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cbiAgICBwLmJzLXBvc3QtY2F0cyB7XG4gICAgICBvcmRlcjogMztcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICAgIHAuYnMtcG9zdC1jb21tZW50cyB7XG4gICAgICBvcmRlcjogNDtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluLXdyYXAge1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0MDApICFpbXBvcnRhbnQ7XG5cbiAgLm1haW4tY29udGVudCB7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5ib2R5Om5vdCguaG9tZSkgLm1haW4td3JhcCB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcbiAgLy8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICYgPiBhcnRpY2xlLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXG4gICAgcCwgc3BhbiwgbGksIHRpbWUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIG9sLCB1bDpub3QoLmFjY29yZGlvbik6bm90KC50YWJzKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOCk7XG4gICAgfVxuICB9XG59XG5ib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS1ub3NpZGViYXIge1xuXG4gIC5tYWluLXdyYXAge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTQwMCkgIWltcG9ydGFudDtcblxuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIubWFpbi13cmFwLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTtcblxuICAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiZm9vdGVyIHtcblxuICAmLnBvcnRmb2xpby1uYXZpZ2F0aW9uIHtcblxuICAgIG5hdi5uYXZpZ2F0aW9uLnBvc3QtbmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cbiAgbmF2Lm5hdmlnYXRpb24ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDMyKSBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiAgfVxufVxuIiwiYXNpZGUuc2lkZWJhciB7XG4gIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgLy8gQG1lZGlhICN7JGJyZWFrOTUxfSB7XG4gIC8vICAgd2lkdGg6IDEyLjVyZW0gIWltcG9ydGFudDtcbiAgLy8gfVxuICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDtcbiAgfVxuICAmLnBvcnRmb2xpby1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgICYgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICAmID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBsaS5yZWNlbnRjb21tZW50cyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIHNwYW4uY29tbWVudC1hdXRob3ItbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNCk7XG4gICAgfVxuICB9XG59XG4iLCIuYnMtc29jaWFsLXNoYXJlLW91dGVyIHtcbiAgbWFyZ2luOiByZW0tY2FsYygzMCkgYXV0byAwO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgzMCk7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xufVxuLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byByZW0tY2FsYygzMCk7O1xuICB3aWR0aDogYXV0bztcblxuICAuYnMtc29jaWFsLXNoYXJlLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTYpO1xuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC00KTtcbiAgICB9XG5cbiAgICAuc2luZ2xlLXNvY2lhbC1zaGFyZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTYpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAwLjI1cmVtKTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBhIGkge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICB9XG4gICAgICAmLnNvY2lhbC1zaGFyZS10d2l0dGVyIHtcblxuICAgICAgICBhIGkge1xuICAgICAgICAgIGNvbG9yOiAkdHdpdHRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zb2NpYWwtc2hhcmUtZmFjZWJvb2sge1xuXG4gICAgICAgIGEgaSB7XG4gICAgICAgICAgY29sb3I6ICRmYWNlYm9vaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zb2NpYWwtc2hhcmUtZ29vZ2xlIHtcblxuICAgICAgICBhIGkge1xuICAgICAgICAgIGNvbG9yOiAkZ29vZ2xlcGx1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zb2NpYWwtc2hhcmUtbGlua2VkaW4ge1xuXG4gICAgICAgIGEgaSB7XG4gICAgICAgICAgY29sb3I6ICRsaW5rZWRpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zb2NpYWwtc2hhcmUtcGludGVyZXN0IHtcblxuICAgICAgICBhIGkge1xuICAgICAgICAgIGNvbG9yOiAkcGludGVyZXN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICAgICAgICBhIGkge1xuICAgICAgICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5zaG93LWNvdW50IHtcblxuICAgICAgLnNpbmdsZS1zb2NpYWwtc2hhcmUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gICAgICAgIH1cbiAgICAgICAgYSBpIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICYuc29jaWFsLXNoYXJlLXR3aXR0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0d2l0dGVyO1xuICAgICAgICB9XG4gICAgICAgICYuc29jaWFsLXNoYXJlLWZhY2Vib29rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZmFjZWJvb2s7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAmLnNvY2lhbC1zaGFyZS1nb29nbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnb29nbGVwbHVzO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJi5zb2NpYWwtc2hhcmUtbGlua2VkaW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRsaW5rZWRpbjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICYuc29jaWFsLXNoYXJlLXBpbnRlcmVzdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHBpbnRlcmVzdDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGUgIWltcG9ydGFudDtcblxuICAgICAgICAgIGEgaSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcblxuICBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZ2FsbGVyeS1pY29uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGVhbHBoYTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYygxMCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgIC5nYWxsZXJ5LWljb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBhIHtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmdhbGxlcnktY29sdW1ucy00IHtcblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazQ4MH0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmdhbGxlcnktY29sdW1ucy0zIHtcblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICBAbWVkaWEgI3skYnJlYWs0ODB9IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5nYWxsZXJ5LWNvbHVtbnMtMiB7XG5cbiAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG4gIGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5nYWxsZXJ5LWljb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogJHB1cnBsZWFscGhhO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQpIHJlbS1jYWxjKDEwKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgIH1cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICAgICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwidWwucGFnaW5hdGlvbiB7XG4gIGJvcmRlci10b3A6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGU7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgI3skYnJlYWs4MDB9IHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xuICB9XG4gIGxpLCBsaSBzcGFuLCBsaSBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgfVxuICBsaSBzcGFuLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG4gIGxpIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluLWNvbnRlbnQgPiAuZW50cnktY29udGVudCA+IC5nZm9ybV93cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmdmb3JtX3dyYXBwZXIge1xuXG4gIGZvcm0ge1xuXG4gICAgLmdmb3JtX2JvZHkge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgICB9XG5cbiAgICAgIGxpLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLy8gfVxuICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWltcG9ydGFudDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgfVxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5naW5wdXRfY29tcGxleCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNik7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgLmdpbnB1dF9mdWxsLCAuZ2lucHV0X2xlZnQsIC5naW5wdXRfcmlnaHQsIC5uYW1lX2ZpcnN0LCAubmFtZV9sYXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsbW9zdGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgcmVtLWNhbGMoMSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gMS4xMjVyZW0pO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaGFzLWxhYmVsLWJlbG93IHtcblxuICAgICAgICAgICAgICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmdpbnB1dF9mdWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZ2lucHV0X2xlZnQsIC5naW5wdXRfcmlnaHQsIC5uYW1lX2ZpcnN0LCAubmFtZV9sYXN0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfYWRkcmVzc19sYWJlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgcmVtLWNhbGMoMTYpIDAgcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3Mge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNik7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQpIHJlbS1jYWxjKDE2KSByZW0tY2FsYyg1KSAwO1xuICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKTtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgLmdpbnB1dF9mdWxsLCAuZ2lucHV0X2xlZnQsIC5naW5wdXRfcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGlucHV0LCBzZWxlY3Qge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZ2lucHV0X2xlZnQuYWRkcmVzc196aXAge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgIC5naW5wdXRfcmlnaHQgKyAuZ2lucHV0X2xlZnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzApIDAgMCAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgaW5wdXQuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3Ige1xuXG4gIGZvcm0ge1xuXG4gICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIH1cbiAgICAuZ2Zvcm1fYm9keSB7XG5cbiAgICAgIHVsLmdmb3JtX2ZpZWxkcyB7XG5cbiAgICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgICBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZ2lucHV0X2NvbXBsZXgge1xuXG4gICAgICAgICAgICAuZ2lucHV0X2xlZnQsIC5naW5wdXRfcmlnaHQge1xuXG4gICAgICAgICAgICAgIGlucHV0ICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNpbmdsZS1wb3N0LCAuYmxvZywgLnNlYXJjaC1yZXN1bHRzLCAuc2luZ2xlLXNlcnZpY2UsIC5hcmNoaXZlLCAudGFnLCAuc2luZ2xlLXN0YWZmIHtcblxuICAubWFpbi13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgICAubWFpbi1jb250ZW50IHtcblxuICAgICAgLmJzLWVudHJ5LW1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGU7XG4gICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKSAwIDA7XG4gICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCkgMCAwO1xuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5uby1zaWRlYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgYXJ0aWNsZS5tYWluLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJsb2ctc2lkZWJhci1sZWZ0LCAmLnNpbmdsZS1zaWRlYmFyLWxlZnQge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgYXNpZGUuc2lkZWJhciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJsb2ctZnVsbC13aWR0aC5uby1zaWRlYmFyLCAmLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIge1xuXG4gICAgICBhcnRpY2xlLm1haW4tY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFib3V0LXRoZS1hdXRob3Itd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDMyKSAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblxuICAgIC5hdXRob3ItaW1hZ2Uge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDgwKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmF1dGhvci1kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNS42MjVyZW0pO1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBwIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTE1JTtcbiAgICAgIH1cbiAgICAgICYubm8tYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYnMtYmxvZy1sb29wIHtcblxuICAuYnMtcG9zdC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgaDMge1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmxvZy1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICAgIH1cbiAgICAgICYuYnMtcG9zdC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgICAmLmJzLXBvc3QtYnlsaW5lIHtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgc3Bhbi5hdmF0YXIge1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5icy1wb3N0LWNhdHMge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgIH1cbiAgICAgICYuYnMtcG9zdC1jb21tZW50cyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmxvZy1mb290ZXIge1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG4gICYuYnMtYmxvZy1sb29wLWxpc3Qge1xuXG4gICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuYmxvZy1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ibG9nLWZvb3RlciB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmJzLWJsb2ctbG9vcC1ncmlkLFxuICAmLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC03MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTQ1KSAhaW1wb3J0YW50O1xuXG4gICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNzApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3gtc2hhZG93KTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICB9XG5cbiAgICAgIC5ibG9nLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgLy8gYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1NCk7XG5cbiAgICAgICAgZmlndXJlLCBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhOmhvdmVyLCBhOmZvY3VzIHtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJsb2ctbWV0YSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYnMtcG9zdC1kYXRlIHtcbiAgICAgICAgICBjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgIGkge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9jYWxlbmRhci1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMik7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5icy1lbnRyeS1tZXRhIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6ICNlMWUxZTE7XG4gICAgICAgIC8vIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnMtcG9zdC1leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgIC5ibG9nLWZvb3RlciB7XG4gICAgICAgIC8vIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xNSk7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNSk7XG4gICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjg3NXJlbSk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNikgcmVtLWNhbGMoMzApO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ncmlkLTItY29scyB7XG5cbiAgICAgIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0LjM3NXJlbSk7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQuMzc1cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmdyaWQtMy1jb2xzIHtcblxuICAgICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gNC4zNzVyZW0pO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQuMzc1cmVtKTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNC4zNzVyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZ3JpZC00LWNvbHMge1xuXG4gICAgICBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gNC4zNzVyZW0pO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0LjM3NXJlbSk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQuMzc1cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBuYXYuY3VzdG9tLXBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gIH1cbiAgJi5icy1ibG9nLWxvb3AtY2Fyb3VzZWwge1xuXG4gICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zbGljay1saXN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICB1bC5zbGljay1kb3RzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMzApO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIHotaW5kZXg6IDk5O1xuXG4gICAgICBsaTpvbmx5LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHtcbiAgICBib3JkZXItdG9wOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlO1xuICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAjeyRicmVhazgwMH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICBzcGFuLnBhZ2UtbnVtYmVycy5wYWdlLW51bSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIHNwYW4ucGlwZS1zZXBhcmF0b3Ige1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNyk7XG4gICAgfVxuICAgIHNwYW4ucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYS5wYWdlLW51bWJlcnMge1xuICAgICAgLy8gYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIC8vIGNvbG9yOiB3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJzZWN0aW9uI2NvbW1lbnRzIHtcbiAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgbWFyZ2luOiByZW0tY2FsYygzMikgMCAwIDA7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblxuICBvbC5jb21tZW50LWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGhlYWRlci5jb21tZW50LWF1dGhvciB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgdGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgICBjaXRlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG4gICAgfVxuICAgIHVsLmNoaWxkcmVuIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDE1KSAwIDAgMDtcblxuICAgICAgbGkge1xuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhLmNvbW1lbnQtcmVwbHktbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gIH1cbn1cbnNlY3Rpb24jcmVzcG9uZCB7XG4gIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gIG1hcmdpbjogcmVtLWNhbGMoMzIpIDAgMCAwO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBmb3JtI2NvbW1lbnRmb3JtIHtcblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCB0ZXh0YXJlYSB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgfVxuICAgIGlucHV0LmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icy1hamF4LWJsb2ctbG9vcCB7XG5cbiAgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8vIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuXG4gICAgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICBAbWVkaWEgI3skYnJlYWs4MDB9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHVsLmJzLWFqYXgtYmxvZy1pbWFnZXMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIC8vIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgfVxuICAgICAgICAmLmdyaWQtMi1jb2xzIHtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZ3JpZC0zLWNvbHMge1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmdyaWQtNC1jb2xzIHtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiAyNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGljay1zbGlkZSwgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLnNsaWNrLWFycm93IHtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24uc2xpY2stbmV4dCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2JSAtIDEuODc1cmVtKTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrODAwfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5sb2FkaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjI1KTtcbiAgICAgIH1cbiAgICAgICYubG9hZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuICAgICAgLmJzLWFqYXgtc3dhcC1hcmVhLmFqYXgtbG9hZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBpbWcubG9hZGluZy1hbmltYXRpb24ge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgICAgLmJzLXBvc3QtZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnMtcG9zdC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICBoMyB7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5icy1wb3N0LW1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5icy1wb3N0LWRhdGUge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYnMtcG9zdC1ieWxpbmUge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgIHNwYW4uYXZhdGFyIHtcblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYnMtcG9zdC1jYXRzIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJzLXBvc3QtY29tbWVudHMge1xuICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnMtcG9zdC1mb290ZXIge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogU2luZ2xlIFN0YWZmIEl0ZW0gU3R5bGVzICovXG4uc2luZ2xlLXN0YWZmIHtcblxuICAubWFpbi1jb250ZW50IHtcblxuICAgIC5zdGFmZi1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzMwKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICB1bC5zdGFmZi1jYXRlZ29yeSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTUpIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNCk7XG5cbiAgICAgICAgJi5jYXQtbmFtZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgIH1cbiAgICAgICAgJi5jYXQtbmFtZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICB9XG4gICAgICAgICYuY2F0LW5hbWU6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFN0YWZmIFNob3J0Y29kZSBTdHlsZXMgKi9cbi5zdGFmZnMtd3JhcHBlciB7XG5cbiAgLnN0YWZmLWZpbHRlci10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgdWwjZmlsdGVycywgdWxbaWQqPVwiZmlsdGVycy1cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgcmVtLWNhbGMoLTE1KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjApIDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJi5hY3RpdmUsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNpbmdsZS1zdGFmZi1pdGVtIHtcblxuICAgIC5zdGFmZi10aHVtYm5haWwge1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgIC5zdGFmZi10aHVtYm5haWwge1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc3RhZmZzLWRpc3BsYXktZ3JpZCB7XG5cbiAgICAmLmdyaWQtY29scy0xIHtcblxuICAgICAgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuZ3JpZC1jb2xzLTIge1xuXG4gICAgICAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazQwMH0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZ3JpZC1jb2xzLTMge1xuXG4gICAgICAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs0MDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmdyaWQtY29scy00IHtcblxuICAgICAgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs0MDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnN0YWZmcy1kaXNwbGF5LWdyaWQge1xuXG4gICAgLnN0YWZmcy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKC00MCkgcmVtLWNhbGMoLTQwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oaGVpZ2h0KTtcblxuICAgICAgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAuc2luZ2xlLXN0YWZmLWxpbmsge1xuICAgICAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICYuYmlvLWhpZGRlbiB7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgIHNlY3Rpb24uc3RhZmYtY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC8vIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICAuc3RhZmYtZXhjZXJwdCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXJndW5keWFscGhhO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICY6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgYmFja2dyb3VuZDogJGJ1cmd1bmR5YWxwaGE7XG4gICAgICAgICAgICAvLyAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgLy8gICBsZWZ0OiAwO1xuICAgICAgICAgICAgLy8gICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvLyAgIHRvcDogMDtcbiAgICAgICAgICAgIC8vICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIC8vICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgaW1nLnN0YWZmLXRodW1ibmFpbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBzZWN0aW9uLnN0YWZmLW1ldGEge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICBoNC5zdGFmZi10aXRsZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnVyZ3VuZHkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtcnNlYXZlcztcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNWVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtcnNlYXZlcztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgICAgICAgIHNlY3Rpb24uc3RhZmYtY29udGVudCB7XG5cbiAgICAgICAgICAgICAgLnN0YWZmLWV4Y2VycHQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBoNC5zdGFmZi10aXRsZSB7XG4gICAgICAgICAgICAgICAgLy9ib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAvL3RvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVsLnN0YWZmLWNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAvL2JvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgLy90b3A6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zdGFmZnMtZGlzcGxheS1saXN0IHtcblxuICAgIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuc3RhZmYtdGh1bWJuYWlsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgICAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zdGFmZi1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4Ljc1cmVtKTtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuc3RhZmYtbWV0YSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bC5zdGFmZi1jYXRlZ29yeSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTApIDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkuY2F0LW5hbWUge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZTphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3RhZmYtcmVhZC1tb3JlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZXJyb3I0MDQge1xuXG4gIC5tYWluLXdyYXAubm8tc2lkZWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGFydGljbGUubWFpbi1jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiZm9vdGVyLmZvb3RlciB7XG5cbiAgLndpZGdldCB7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XG4gICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSkgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIHVsLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgfVxuICAgICAgJi5pcy1hY3RpdmUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiZGl2I2JzLXNpdGV3aWRlLXBvcHVwIHtcblxuICAuYnMtcG9wdXAtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuODUpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gIH1cbiAgLmJzLXBvcHVwLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gICAgei1pbmRleDogMTAwMTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbiAgLmJzLXBvcHVwLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoODApO1xuICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiByZW0tY2FsYyg4MCk7XG4gICAgei1pbmRleDogMTAwMTtcbiAgfVxuICAuYnMtcG9wdXAtaGlkZS1mb3JldmVyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG4gICYucG9wdXAtYm90dG9tLWxlZnQsXG4gICYucG9wdXAtYm90dG9tLXJpZ2h0LFxuICAmLnBvcHVwLWJvdHRvbS1mdWxsIHtcblxuICAgIC5icy1wb3B1cC1pbm5lciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiByZW0tY2FsYygtNTApO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgfVxuICB9XG4gICYucG9wdXAtYm90dG9tLXJpZ2h0IHtcblxuICAgIC5icy1wb3B1cC1pbm5lciB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKC01MCk7XG4gICAgfVxuICB9XG4gICYucG9wdXAtYm90dG9tLWZ1bGwge1xuXG4gICAgLmJzLXBvcHVwLWlubmVyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiZGl2I2luc3RhZmVlZCB7XG5cbiAgJi5oYXMtYXJyb3dzIHtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc2xpY2stYXJyb3cge1xuICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFyZW0pO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgfVxuICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBhLmluc3RhZ3JhbS1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBzcGFuLmlnLWNhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgIHNwYW4uaWctY2FwdGlvbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zbGljay1saXN0LmRyYWdnYWJsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yMCk7XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cbnVsLnNsaWNrLWRvdHMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiByZW0tY2FsYygxNSkgMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbjogMCByZW0tY2FsYyg1KTtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTQpO1xuXG4gICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICB9XG4gIH1cblxufVxuIiwiLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAmLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xuICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBkaXNwbGF5OiBub25lO1xuICAmLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIiRpbnB1dC1udW1iZXItc2l6ZTogODBweDtcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgb3BhY2l0eTogMTtcbn1cbmJvZHkucHJvZHVjdC1maWx0ZXJzLXZpc2libGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuaHRtbCBib2R5Lndvb2NvbW1lcmNlLCBodG1sIGJvZHkud29vY29tbWVyY2UtcGFnZSwgZGl2Lndvb2NvbW1lcmNlIHtcblxuICAuc2VsZWN0Mi1jb250YWluZXIge1xuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkbHRibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIHVsLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNwYW4ucmVxdWlyZWQge1xuICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN0YXItcmF0aW5nIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkZ29sZDtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogc3RhciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkZ29sZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIGZvcm0ud29vY29tbWVyY2Utb3JkZXJpbmcge1xuXG4gICAgc2VsZWN0IHtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgfVxuICAuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIuNXJlbSk7XG4gICAgfVxuICAgIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMXJlbSAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIHNwYW4uc2VwYXJhdG9yIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgzMCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLnRvZ2dsZS1zaG9wLWZpbHRlcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgdG9wOiByZW0tY2FsYyg5KTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAuYnMtZmVhdHVyZWQtcHJvZHVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuXG4gICAgLmZlYXR1cmVkLXByb2R1Y3QtaW5uZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEwKSBkb3VibGUgJHB1cnBsZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgLnByb2R1Y3QtZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnMtcHJvZHVjdC10aXRsZSB7XG5cbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnMtcHJvZHVjdC1leGNlcnB0IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAuYnMtYWRkLXRvLWNhcnQge1xuXG4gICAgICAgICAgcC5wcm9kdWN0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1ByaWNlOiAnO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEuYnV0dG9uIHtcblxuICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygxNSkgMDtcbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI0KSByZW0tY2FsYygxNSkgcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ2xvc3NibG9vbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MzApO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5tYWluLXdyYXAge1xuXG4gICAgJi5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyIHtcbiAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgYS5jbG9zZS1maWx0ZXJzIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogcmVtLWNhbGMoMikgcmVtLWNhbGMoMikgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwuNzUpO1xuICAgICAgICAgIC8vIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA3LjY4NzVyZW0pO1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDEyMyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEuY2xvc2UtZmlsdGVycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5zaG9wLWxheW91dC1zaWRlYmFyLXJpZ2h0IHtcblxuICAgICAgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgIGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNob3AtbGF5b3V0LWZ1bGwtd2lkdGgge1xuXG4gICAgICBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQge1xuXG4gICAgICBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyAmLm9mZi1jYW52YXMtZmlsdGVycyB7XG4gICAgLy9cbiAgICAvLyAgIGJ1dHRvbi50b2dnbGUtc2hvcC1maWx0ZXJzIHtcbiAgICAvLyAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAvLyAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIC8vICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIC8vICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIC8vICAgICAvLyBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAvLyAgICAgbGVmdDogMTAwJTtcbiAgICAvLyAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAvLyAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCk7XG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vICAgICB0b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAvLyAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAvL1xuICAgIC8vICAgICBzcGFuLmZhcyB7XG4gICAgLy8gICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAvLyAgICAgYm94LXNoYWRvdzogMCByZW0tY2FsYygzKSByZW0tY2FsYyg1KSByZ2JhKDAsMCwwLC41KTtcbiAgICAvLyAgICAgbWF4LXdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICAvLyAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgIC8vXG4gICAgLy8gICAgICYuaXMtYWN0aXZlIHtcbiAgICAvLyAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLy8gICAgIH1cbiAgICAvL1xuICAgIC8vICAgICBidXR0b24udG9nZ2xlLXNob3AtZmlsdGVycyB7XG4gICAgLy8gICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gIH1cbiAgLndvb2NvbW1lcmNlLWluZGV4IGgxLnBhZ2UtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYgKyBwLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTApO1xuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuXG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjIwKTtcbiAgICB9XG4gIH1cbiAgdWwucHJvZHVjdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgJiA+IGEge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJiAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgLy8gYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDEpICRwdXJwbGU7XG4gICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJiBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgcGFkZGluZzogMCAwIHJlbS1jYWxjKDEwKSAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGRpdi5zdGFyLXJhdGluZyB7XG4gICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIHNwYW4uYW1vdW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgICYgPiBhIHtcblxuICAgICAgICAgICYgaW1nIHtcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoMS4yKSByb3RhdGUoM2RlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYgPiBsaS5wcm9kdWN0LWNhdGVnb3J5LnByb2R1Y3Qge1xuXG4gICAgICAmID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICYgPiBhID4gaDIge1xuICAgICAgICBjb2xvcjogJGdyZWVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgICAmID4gYSA+IGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgICAmID4gYTphZnRlciB7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNDApO1xuICAgICAgICBjb250ZW50OiAnVmlldyBBbGwnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcpIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICAgIH1cbiAgICAgICYgPiBhOmhvdmVyOmFmdGVyLFxuICAgICAgJiA+IGE6Zm9jdXM6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY29sdW1ucy0yLFxuICAgICYuY29sdW1ucy0zLFxuICAgICYuY29sdW1ucy00IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNDUpIDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG5cbiAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYyg0NSkgMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQ1KSAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAvLyBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgICAgYS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rIHtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgICAgIC8vIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHJlZDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgICAgIGRpdi5zdGFyLXJhdGluZyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ucHJpY2Uge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgICAgICAgIG9yZGVyOiA1O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmNvbHVtbnMtMiB7XG5cbiAgICAgICYgPiBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmNvbHVtbnMtNCB7XG5cbiAgICAgICYgPiBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvZHVjdC10b3Atd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAbWVkaWEgI3skYnJlYWs3Njh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgc3Bhbi5vbnNhbGUge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBkaXYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGRpdi5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICBzcGFuLm9uc2FsZSB7XG4gICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiByZW0tY2FsYyg4KSByZW0tY2FsYygxKSAwIDAgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDE3KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxKTtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKC0xNyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMSk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwdXJwbGU7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHB1cnBsZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnByb2R1Y3Quc2FsZSBzcGFuLm9uc2FsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogMDtcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogcmVtLWNhbGMoLTE3KTtcbiAgICB9XG4gIH1cbiAgLm1haW4td3JhcCAuYnV0dG9uLCAubWFpbi13cmFwIC5idXR0b24ud2MtYmFja3dhcmQsIC5idXR0b24ud2MtYmFja3dhcmQsIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTAwKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg3KSByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRyZWQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0LFxuICAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIC8vIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDIpO1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgLy8gcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvLyB3aWR0aDogcmVtLWNhbGMoNDIpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgJi5hZGRlZDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgICYgKyBhLmFkZGVkX3RvX2NhcnQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5tYWluLXdyYXAge1xuICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDApO1xuICAgIH1cblxuICAgIC5tYWluLWNvbnRlbnQge1xuXG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICBhcnRpY2xlLndvb2NvbW1lcmNlLWluZGV4IHtcbiAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNi4yNXJlbSkgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAucmVsYXRlZC5wcm9kdWN0cyB7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgICB9XG4gICAgICAgIHVsLnByb2R1Y3RzIHtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuXG4gICAgICAgICAgICBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNikgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNDAwfSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5zYWxlIHtcblxuICAgICAgICAgICAgICBzcGFuLm9uc2FsZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gYSB7XG5cbiAgICAgICAgICAgICAgc3Bhbi5wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhc2lkZS5zaWRlYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIHdpZHRoOiAxMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB7XG5cbiAgICAgICAgaDYge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjA3YSc7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAmID4gbGkuY2F0LWl0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmID4gbGkuY2F0LWl0ZW0gPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmID4gbGkuY2F0LWl0ZW0gaS5jbG9zZS1jYXQtbGlzdCB7XG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9za2V0Y2gtZG93bi1hcnJvdy5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMjgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgICAgICAgJi5hbmltYXRlLWNoZXZyb24ge1xuICAgICAgICAgICAgICAvLyBsZWZ0OiByZW0tY2FsYygtNSk7XG4gICAgICAgICAgICAgIC8vIHRvcDogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0LmFuaW1hdGUtY2hldnJvbiB+IGkuY2xvc2UtY2F0LWxpc3Qge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdWwuY2hpbGRyZW4ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAmLnNob3ctY2F0cyB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNUI1QjVCO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg1KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuY3VycmVudC1jYXQgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS10YWJzIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2MCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCkgIWltcG9ydGFudDtcblxuICAgIHVsLnRhYnMud2MtdGFicyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcblxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUsICYuYWN0aXZlOmhvdmVyLCAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbHRncmF5ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRsdGdyYXk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCByZW0tY2FsYygtMikgcmVtLWNhbGMoNykgIzAwMWU2MTtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcpO1xuXG4gICAgICAgICAgJi5hY3RpdmUsICYuYWN0aXZlOmhvdmVyLCAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtVGFicy1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGx0Z3JheSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgaDIud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSwgaDIud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAjcmV2aWV3cyB7XG5cbiAgICAjY29tbWVudHMgb2wuY29tbWVudGxpc3Qge1xuXG4gICAgICBsaS5jb21tZW50IHtcblxuICAgICAgICAuY29tbWVudF9jb250YWluZXIge1xuXG4gICAgICAgICAgaW1nLmF2YXRhciB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY29tbWVudC10ZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgcmVtLWNhbGMoNDApO1xuXG4gICAgICAgICAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcC5tZXRhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI3Jldmlld19mb3JtX3dyYXBwZXIge1xuXG4gICAgICAjcmVwbHktdGl0bGUge1xuICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICBwLnN0YXJzIHtcbiAgICAgICAgY29sb3I6ICRnb2xkO1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvZHVjdF9tZXRhIHtcblxuICAgIHNwYW4uc2t1X3dyYXBwZXIgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBzcGFuLnBvc3RlZF9pbiBzdHJvbmcge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgZm9ybS5jYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIHtcblxuICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xuXG4gICAgICAuZ2FsbGVyeSB7XG5cbiAgICAgICAgLmdhbGxlcnktaXRlbSB7XG5cbiAgICAgICAgICAmOm9ubHktb2YtdHlwZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmxleC12aWV3cG9ydCB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuXG4gICAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICBjdXJzb3I6IGdyYWIgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gJjphZnRlciB7XG4gICAgICAvLyAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICAvLyAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAvLyAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAvLyAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgLy8gICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgIC8vICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgIC8vICAgb3BhY2l0eTogLjU7XG4gICAgICAvLyAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAvLyAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vICAgdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAvLyAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAvLyAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgLy9cbiAgICAgIC8vICAgJjphZnRlciB7XG4gICAgICAvLyAgICAgb3BhY2l0eTogMTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgICBvbC5mbGV4LWNvbnRyb2wtbmF2LmZsZXgtY29udHJvbC10aHVtYnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xMCk7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgaW1nIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAucHdiLXNpbmdsZS1wcm9kdWN0LWJyYW5kcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBoMi5wcm9kdWN0X3RpdGxlLmVudHJ5LXRpdGxlIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAvLyAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcge1xuICAgIC8vICAgb3JkZXI6IDI7XG4gICAgLy8gfVxuICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWRldGFpbHNfX3Nob3J0LWRlc2NyaXB0aW9uLFxuICAgIC5pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgb3JkZXI6IDI7XG5cbiAgICAgIHAge1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHAucHJpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcmRlcjogNDtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBAbWVkaWEgI3skYnJlYWs5MDB9IHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE1MCk7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGZvcm0uY2FydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygyMCk7XG4gICAgICBvcmRlcjogNTtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgICBAbWVkaWEgI3skYnJlYWs5MDB9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTUwcHgpO1xuICAgICAgfVxuXG4gICAgICAucXVhbnRpdHkge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2lkdGg6IDQwJTtcblxuICAgICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBidXR0b24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0NCk7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgfVxuICAgIH1cbiAgICBhLmNvbXBhcmUuYnV0dG9uIHtcbiAgICAgIG9yZGVyOiA2O1xuICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIEBtZWRpYSAjeyRicmVhazkwMH0ge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0X21ldGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGU7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDApIDAgcmVtLWNhbGMoMTUpO1xuICAgICAgb3JkZXI6IDM7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS10YWJzLndjLXRhYnMtd3JhcHBlcixcbiAgLnJlbGF0ZWQucHJvZHVjdHMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoODcwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB7XG5cbiAgICB1bC5wYWdlLW51bWJlcnMge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIHNwYW4uY3VycmVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgYS5wYWdlLW51bWJlcnMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG5cbiAgICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICBsaW5lLWhlaWdodDogY2FsYygjeyRpbnB1dC1udW1iZXItc2l6ZX0vMik7XG4gICAgfVxuICAgIC5pbnB1dC1udW1iZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuaW5wdXQtbnVtYmVyLFxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAgIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgIGhlaWdodDogJGlucHV0LW51bWJlci1zaXplLzI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIH1cbiAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcbiAgICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM1KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMzUpIDAgMCByZW0tY2FsYygzNSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MS44NzVyZW0pIGFuZCAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCkgMCAwIHJlbS1jYWxjKDQpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgcmVtLWNhbGMoMzUpIHJlbS1jYWxjKDM1KSAwO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUxLjg3NXJlbSkgYW5kIChtaW4td2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpIDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIC8vIGJvcmRlci1jb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgdGhlYWQge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuXG4gICAgICB0ciB7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgIHRoLnByb2R1Y3QtbmFtZSB7XG5cbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIHRoLnByb2R1Y3QtcHJpY2UsXG4gICAgICAgIHRoLnByb2R1Y3QtcXVhbnRpdHksXG4gICAgICAgIHRoLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aC5wcm9kdWN0LXJlbW92ZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSB7XG5cbiAgICAgIHRyIHtcbiAgICAgICAgLy8gZGlzcGxheTogZmxleDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIC8vIGJvcmRlci1jb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDM4JSAtIC41cmVtKTtcbiAgICAgICAgICAvLyB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTQ1KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTIwMH0ge1xuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTAwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgc3Bhbi5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDVweCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEyMDB9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICB0ZC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJvZHVjdC1zdWJ0b3RhbCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJvZHVjdC1yZW1vdmUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDIpO1xuXG4gICAgICAgICAgYS5yZW1vdmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbnB1dC5pbnB1dC10ZXh0LnF0eS50ZXh0IHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgICAvLyBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjAwKTtcblxuICAgICAgICAvLyBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgLy8gICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIC5jb3Vwb24ge1xuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQjY291cG9uX2NvZGUge1xuICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDEyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhLmtlZXAtc2hvcHBpbmctYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuICAuY2FydC1jb2xsYXRlcmFscyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMS44NzVyZW0pO1xuXG4gICAgZGl2LmNvdXBvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgLy8gbWluLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjQwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5jYXJ0X3RvdGFscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgICAgdGFibGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRwdXJwbGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICB0ci5vcmRlci10b3RhbCwgdHIuY2FydC1zdWJ0b3RhbCwgdHIuc2hpcHBpbmcge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRkIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjQwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBidXR0b24uYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQsIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdIHtcbiAgICAgICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLFxuICBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQ6ICRsdGdyYXkgIWltcG9ydGFudDtcbiAgICAvLyBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEwKSBkb3VibGUgJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcblxuICAgICYgPiBwIHtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5mb3JtLXJvdyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJi5mb3JtLXJvdy1maXJzdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCkgIWltcG9ydGFudDtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZm9ybS1yb3ctbGFzdCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjAwKSAhaW1wb3J0YW50O1xuICAgICAgICBAbWVkaWEgI3skYnJlYWs0ODB9IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgIC8vIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzkpO1xuICAgIH1cbiAgfVxuICAuYmlsbGluZy1zaGlwcGluZy10YWJzIHtcbiAgICBib3JkZXItY29sb3I6ICRwdXJwbGU7XG4gIH1cbiAgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHVycGxlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obWF4LWhlaWdodCk7XG5cbiAgICAuc2hpcHBpbmctZGV0YWlscywgLmJpbGxpbmctZGV0YWlscyB7XG4gICAgICAvLyBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgICAgIC8vICYudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgICAgLy8gICBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyAgIG9wYWNpdHk6IDE7XG4gICAgICAvLyAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAvLyB9XG4gICAgICAvLyAmLnRhYnMtcGFuZWwge1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vICAgaGVpZ2h0OiAwO1xuICAgICAgLy8gICBvcGFjaXR5OiAwO1xuICAgICAgLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cbiAgc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEpO1xuXG4gICAgaW5wdXQuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHB1cnBsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgYm94LXNoYWRvdzogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYud29vY29tbWVyY2UtY2hlY2tvdXQge1xuXG4gICAgZm9ybS5jaGVja291dF9jb3Vwb24ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTMpO1xuICAgIH1cbiAgfVxuICBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcblxuICAgIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cbiAgICAgICYgPiBoMyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMsXG4gICAgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzLFxuICAgIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMsXG4gICAgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHtcblxuICAgICAgaW5wdXQuaW5wdXQtdGV4dCwgdGV4dGFyZWEsIC5zZWxlY3QyLXNlbGVjdGlvbiwgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzOSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ub3B0aW9uYWwge1xuICAgICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJi5mb3JtLXJvdy1maXJzdCwgJi5mb3JtLXJvdy1sYXN0IHtcbiAgICAgICAgICB3aWR0aDogNDkuMjUlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSwgJi5ub3RlcyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmI2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLFxuICAgICAgICAmI3NoaXBwaW5nX2FkZHJlc3NfMV9maWVsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgJiArICNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCxcbiAgICAgICAgICAmICsgI3NoaXBpbmdfYWRkcmVzc18yX2ZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcblxuICAgICAgICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM4KTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwI2JpbGxpbmdfY291bnRyeV9maWVsZCxcbiAgICAgIHAjc2hpcHBpbmdfY291bnRyeV9maWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMge1xuXG4gICAgICBoMiNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygyKSAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgICAgICAvLyBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAjY3VzdG9tZXJfZGV0YWlscyB7XG5cbiAgICAgIC5jb2wtMSwgLmNvbC0yIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwLnRhYnMtdGl0bGUuY2hlY2tvdXQtY29udC1idG4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDMwKSByZW0tY2FsYygtMTYpIDAgMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0W25vdmFsaWRhdGU9XCJub3ZhbGlkYXRlXCJdIHtcblxuICAgIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyxcbiAgICAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMsXG4gICAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyxcbiAgICAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMge1xuXG4gICAgICAudmFsaWRhdGUtcmVxdWlyZWQge1xuXG4gICAgICAgIGlucHV0LmlucHV0LXRleHQsIHRleHRhcmVhLCAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgIC8vIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaDIjb3JkZXJfcmV2aWV3X2hlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2xvc3NibG9vbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiByZW0tY2FsYygxNzApO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMSkgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICBzcGFuLmNoZWNrb3V0LXRpdGxlLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTcwKTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNSkgcmVtLWNhbGMoMikgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9zZWN0aW9uLWhlYWRpbmctdW5kZXJsaW5lLnN2Zykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNzApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRhYmxlLnNob3BfdGFibGUsIHRhYmxlLnNob3BfYXR0cmlidXRlcyB7XG4gICAgLy8gYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29sb3I6ICRncmVlbjtcblxuICAgICAgdGgucHJvZHVjdC1uYW1lLFxuICAgICAgdGgucHJvZHVjdC10b3RhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAvLyBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIH1cbiAgICAgIHRkLCB0aCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHRkLnByb2R1Y3QtbmFtZSB7XG5cbiAgICAgICAgc3Bhbi5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCxcbiAgICAgIHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wge1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICB0ci5jYXJ0LXN1YnRvdGFsLCB0ci5vcmRlci10b3RhbCwgdHIuc2hpcHBpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuLmFtb3VudCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wge1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoIHtcbiAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdHIuc2hpcHBpbmcge1xuXG4gICAgICAgIHRkIHtcblxuICAgICAgICAgIHVsLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMge1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0Zm9vdCB7XG4gICAgICBib3JkZXItY29sb3I6ICRwdXJwbGUgIWltcG9ydGFudDtcblxuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICB0ciB0ZCBzcGFuLmFtb3VudCxcbiAgICAgIHRyIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wge1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICB0ci5zaGlwcGluZyB7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRyLnRheC10b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGUgIWltcG9ydGFudDtcblxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XG5cbiAgICAgICAgdGQgc3Ryb25nIHNwYW4uYW1vdW50LFxuICAgICAgICB0ZCBzdHJvbmcgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICAgICAgY29sb3I6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQsXG4gICAgICAgIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sIHtcbiAgICAgICAgICBjb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRhYmxlLnNob3BfdGFibGUge1xuXG4gICAgdHIge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOSkgcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgICB0ci5zaGlwcGluZyB7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgYS5zaGlwcGluZy1jYWxjdWxhdG9yLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHtcblxuICAgICAgICBwLmZvcm0tcm93IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgLnNlbGVjdDIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyKTtcblxuICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBidXR0b24uYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB7XG5cbiAgICAgIHRoZWFkIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIHRyIHtcblxuICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0Ym9keSwgdGZvb3Qge1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgdHIge1xuXG4gICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0Ym9keSB7XG5cbiAgICAgICAgdHIge1xuXG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRmb290IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICB0ciB7XG5cbiAgICAgICAgICAmLmNhcnQtc3VidG90YWwge1xuXG4gICAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JlZW47XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYud29vY29tbWVyY2Utc2hpcHBpbmctdG90YWxzLnNoaXBwaW5nIHtcblxuICAgICAgICAgICAgdGQge1xuXG4gICAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBsYWJlbCwgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQsICNwYXltZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuXG4gICAgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICAgIHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmID4gbGkge1xuXG4gICAgICAgICYgPiBsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaS53Y19wYXltZW50X21ldGhvZCB7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGkud2NfcGF5bWVudF9tZXRob2Qge1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuICAgICAgICBkaXYucGF5bWVudF9ib3gge1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYS5hYm91dF9wYXlwYWwge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIHtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYucGF5bWVudF9ib3gge1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5wYXltZW50X21ldGhvZF9zdHJpcGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxZW0gc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUpIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0ge1xuXG4gICAgICAgICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICAgICAgICAgICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgICAgICAgICAgI3N0cmlwZS1jdmMtZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogcmVtLWNhbGMoNDQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHtcblxuICAgICAgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQge1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDEpIDAgJHB1cnBsZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogcmVtLWNhbGMoMikgcmVtLWNhbGMoMSkgMCAkcHVycGxlO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0tcm93LnBsYWNlLW9yZGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgcmVtLWNhbGMoNikgcmVtLWNhbGMoNik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuICAgICAgcC5mb3JtLXJvdy52YWxpZGF0ZS1yZXF1aXJlZCB7XG5cbiAgICAgICAgbGFiZWwge1xuXG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygtNCkgcmVtLWNhbGMoOCkgMCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYucmVxdWlyZWQge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGJ1dHRvbiNwbGFjZV9vcmRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4cmVtKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAucmV0dXJuLXRvLXNob3Age1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGl2I3BheW1lbnQud29vY29tbWVyY2UtUGF5bWVudCB7XG5cbiAgICB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyArIGRpdi5mb3JtLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgIH1cbiAgICAuYWJvdXRfcGF5cGFsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1pbmZvIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcHVycGxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICYgKiB7XG4gICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICBsZWZ0OiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNsZWFyLW5vdGljZSB7XG4gICAgICBjb2xvcjogcmVkO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiA1MDtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoNDUpIHJlbS1jYWxjKDEwKSByZW0tY2FsYygxMCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5oaWRlLW5vdGljZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbiAgZm9ybS5jaGVja291dF9jb3Vwb24ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24uaGlkZS1ub3RpY2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLndvb2NvbW1lcmNlLWVycm9yLCAud29vY29tbWVyY2UtaW5mbywgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDE1KSByZW0tY2FsYyg0NSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgLy8gbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGdyZWVuO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgYm9yZGVyOiByZW0tY2FsYygxMCkgZG91YmxlICRyZWQ7XG5cbiAgICBsaSB7XG4gICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICB9XG4gIH1cbiAgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRsdGJsdWU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbHRibHVlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbHRibHVlO1xuICAgIH1cbiAgfVxufVxuLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3Qge1xuXG4gIGhlYWRlci53b29jb21tZXJjZS1zaG9wLXRpdGxlIHtcblxuICAgIGgxLmVudHJ5LXRpdGxlIHtcblxuICAgICAgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5wcm9kdWN0LW1ldGEge1xuXG4gICAgICAmID4gcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgICAgc3Bhbi5jYXRlZ29yeS1uYW1lIHtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCAnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucHJvZHVjdC10b3Atd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDYwKTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDc0MCk7XG5cbiAgICBkaXYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LFxuICAgIGRpdi5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG5cbiAgICAuZ2FsbGVyeSB7XG5cbiAgICAgIGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuXG4gICAgICAgIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ud29vY29tbWVyY2UtZm9ybSB7XG5cbiAgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICB9XG4gIGxhYmVsLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsLWZvci1jaGVja2JveC5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgfVxufVxuZGl2Lndvb2NvbW1lcmNlLW9yZGVyIHtcblxuICBwLndvb2NvbW1lcmNlLW5vdGljZSB7XG4gICAgY29sb3I6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gIH1cbiAgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIGxpIHtcbiAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs0ODB9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICB9XG4gIH1cbn1cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAkcHVycGxlO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0sIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2RhdGEtc2VsZWN0ZWRdIHtcbiAgYmFja2dyb3VuZDogJHB1cnBsZTtcbn1cbi53b29jb21tZXJjZS1hY2NvdW50IHtcblxuICAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYyg0MCkgMDtcblxuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byByZW0tY2FsYyg0KTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIC4yNXJlbSk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgZm9ybSB7XG5cbiAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkcHVycGxlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgIH1cbiAgICAgIGZpZWxkc2V0IHtcblxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDAgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgLndvb2NvbW1lcmNlLCAud29vY29tbWVyY2UtcGFnZSB7XG5cbiAgICB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUge1xuXG4gICAgICB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiByZW0tY2FsYyg1KSBzb2xpZCAkcHVycGxlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgICAgICAmLnByb2R1Y3QtcHJpY2UsICYucHJvZHVjdC1zdWJ0b3RhbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aXRsZSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIHNwYW4ucHJvZHVjdC10aXRsZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnByb2R1Y3QtcmVtb3ZlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vIHJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAvLyB0b3A6IHJlbS1jYWxjKDUpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1JlbW92ZSB0aGlzIGl0ZW0nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtNSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5wcm9kdWN0LXByaWNlLCAmLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAkbHRibHVlICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGx0Ymx1ZSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAkbHRibHVlICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG46LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAkbHRibHVlICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjgpO1xufVxuXG5kaXYjcHVyY2hhc2UtdGlja2V0cyB7XG4gIGhlaWdodDogcmVtLWNhbGMoMSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xKTtcbn1cbi8qIFZlZ2dpZSBJY29ucyBTdHlsZXMgKi9cbi52ZWdnaWUtaWNvbnMtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuYS5vcGVudGFibGUge1xuICBjb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiByZW0tY2FsYygzKSByZW0tY2FsYygyNSkgcmVtLWNhbGMoMik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL29wZW50YWJsZS1pY29uLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoNSkgMCByZW0tY2FsYygtMTApO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gIH1cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICRwdXJwbGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIE9wZW5UYWJsZSBGdWxsLVdpZHRoIFJlc2VydmF0aW9uIFdpZGdldCBTdHlsZXMgKi9cbi5vcGVudGFibGUtd2lkZ2V0LXdyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygxNDAwKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgI290LXJlc2VydmF0aW9uLXdpZGdldCB7XG5cbiAgICAub3QtZHRwLXBpY2tlci53aWRlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLm90LXRpdGxlIHtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgICAgLm90LXBvd2VyZWQtYnkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgZm9ybS5vdC1kdHAtcGlja2VyLWZvcm0ge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygtMTUpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcblxuICAgICAgICAmICoge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgZGl2Lm90LXBhcnR5LXNpemUtcGlja2VyLFxuICAgICAgICBkaXYub3QtZGF0ZS1waWNrZXIsXG4gICAgICAgIGRpdi5vdC10aW1lLXBpY2tlciB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTtcbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazQwMH0ge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYnVyZ3VuZHk7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1yc2VhdmVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE0KSByZW0tY2FsYygyMik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBAbWVkaWEgI3skYnJlYWs5MDB9IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0Lm90LWJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRtcnNlYXZlcyAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTtcbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs5MDB9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazQwMH0ge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIENhcmQgRmxpcCBTdHlsZXMgKi9cbi5icy1jYXJkLWNvbnRhaW5lciB7XG4gIHBlcnNwZWN0aXZlOiA2MDA7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmJzLWNhcmQge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjApIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNpdGlvbjogYWxsIC43NXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmW2NvbnRlbnRlZGl0YWJsZV0ge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYnMtY2FyZC1zaWRlIHtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICoge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtcnNlYXZlcztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG4gICAgICBhLmJzLWJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgJi5icy1idG4td2hpdGUge1xuICAgICAgICAgIGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5icy1idG4tY2xlYXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3Bhbi5zbWFsbC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC5icy1jYXJkLXNpZGUtYmFjayB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAuYnMtY2FyZC1zaWRlLWJhY2sge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSAuYnMtY2FyZC1jb250YWluZXIge1xuICBwZXJzcGVjdGl2ZTogNjAwO1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5icy1jYXJkICB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAuYnMtY2FyZC1zaWRlLWJhY2sge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cbn1cblxuXG4vKioqKiBIRUFERVIgU1RZTEVTICoqKiovXG5oZWFkZXIjbWFzdGhlYWQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCwgY2VudGVyIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJHB1cnBsZTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuXG4gIEBtZWRpYSAjeyRicmVhazE5MDB9IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAlIGNlbnRlciwgMTEwJSBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhICN7JGJyZWFrMTcwMH0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoLTEwJSAtIDIwMHB4KSBjZW50ZXIsIGNhbGMoMTEwJSArIDIwMHB4KSBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhICN7JGJyZWFrMTQwMH0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoLTEwJSAtIDMwMHB4KSBjZW50ZXIsIGNhbGMoMTEwJSArIDMwMHB4KSBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhICN7JGJyZWFrMTIwMH0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoLTEwJSAtIDM3NXB4KSBjZW50ZXIsIGNhbGMoMTEwJSArIDM3NXB4KSBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjaGVhZGVyLWlubmVyIHtcbiAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciB7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC50aXRsZS1iYXItdGl0bGUge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgYS5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuY3VzdG9tLWxvZ28ge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuaGVhZGVyLXRhZ2xpbmUtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5LjczNXJlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5oZWFkZXItdGFnbGluZSxcbiAgICAgICAgICAuaGVhZGVyLXNlY29uZGFyeS10YWdsaW5lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazgwMH0ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuaGVhZGVyLXRhZ2xpbmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNSkgMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmhlYWRlci1zZWNvbmRhcnktdGFnbGluZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdsb3NzYmxvb207XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLm1lbnUtaWNvbiB7XG5cbiAgICAgICAgICBzcGFuLmtlZXAtdG9nZXRoZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIC8vIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbmF2LnRvcC1iYXIge1xuICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItdG9wIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIC5zaXRlLWRlc2t0b3AtdGl0bGUudG9wLWJhci10aXRsZSB7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby13cmFwcGVyIHtcblxuICAgICAgICAgIGEuY3VzdG9tLWxvZ28tbGluayB7XG5cbiAgICAgICAgICAgIC5jdXN0b20tbG9nbyB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmhlYWRlci10YWdsaW5lLFxuICAgICAgICAgIC5oZWFkZXItc2Vjb25kYXJ5LXRhZ2xpbmUge1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIHJlbS1jYWxjKDEwKSAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaGVhZGVyLXRhZ2xpbmUge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDgwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmhlYWRlci1zZWNvbmRhcnktdGFnbGluZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdsb3NzYmxvb207XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyLWxlZnQge1xuXG4gICAgICAuZGVza3RvcC1tZW51Lm1lbnUge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgMDtcblxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmID4gbGkgPiBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEyMDB9IHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGVhbHBoYTtcbiAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIC8vIGxlZnQ6IHJlbS1jYWxjKC0xNSk7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMDApO1xuXG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBsaSA+IGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmID4gbGkgPiBhOmhvdmVyLFxuICAgICAgICAgICYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICAgICAgJiA+IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICYgPiBsaSA+IGEge1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiBsaTpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG5cbiAgICAgICAgICBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyODApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICYgKiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAge1xuXG4gICAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgICAgICAgIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBsaS50b3AtYmFyLW15LWNhcnQge1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgIHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxKSByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtOCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3Bhbi5jYXJ0LWNvbnRlbnRzLWNvdW50LTAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgICAgICAgICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbm5hdi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51Lm9mZi1jYW52YXMge1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gIEBhdC1yb290IHtcbiAgICAuYWRtaW4tYmFyICYge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUyKTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNzgyfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2Nik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tZW51ID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMpO1xuICB9XG4gIC5tZW51IGxpLCAubWVudSBsaSBhIHtcbiAgICBmb250LWZhbWlseTogJGZ1dHVyYSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVudTpub3QoLm5lc3RlZCkgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOSkgcmVtLWNhbGMoMTYpO1xuICB9XG4gIC5tZW51Lm5lc3RlZCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSkgIWltcG9ydGFudDtcbiAgfVxuICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGRpdi5jdXN0b20tYnV0dG9uLmFsdC1uYXYtbXktY2FydCB7XG5cbiAgICBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCkgcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJiAqIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cCB7XG5cbiAgICAgIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLyoqKiogSE9NRSBQQUdFIFNUWUxFUyAqKioqL1xuI3RocmVlLXBvcnRhbHMtd3JhcHBlciB7XG5cbiAgLmJzLWNhcmQtY29udGFpbmVyIHtcblxuICAgIC5icy1jYXJkIHtcblxuICAgICAgLmJzLWNhcmQtc2lkZSB7XG5cbiAgICAgICAgaDIsIGE6bm90KC5icy1idG4td2hpdGUpLCBzcGFuLnNtYWxsLWhlYWRpbmcge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LWZhbWlseTogJG1yc2VhdmVzICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5rZWVwLXRvZ2V0aGVyIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBhLm9wZW50YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKioqKiBBQk9VVCBVUyBTVFlMRVMgKioqKi9cbiNhYm91dC11cy13cmFwcGVyIHtcblxuICBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1NzUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLnZjX2NvbC1zbS02IHtcblxuICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuXG4gICAgICAud3BiX3NpbmdsZV9pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3MCkgIWltcG9ydGFudDtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53cGJfc2luZ2xlX2ltYWdlICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTc1KTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAbWVkaWEgI3skYnJlYWsxMjAwfSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuXG4vKioqKiBDQUxFTkRBUiAmIFNJTkdMRSBFVkVOVCBTVFlMRVMgKioqKi9cbiN0cmliZS1ldmVudHMge1xuXG4gICN0cmliZS1ldmVudHMtY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgZGl2LnRyaWJlLWV2ZW50cy10aXRsZS1iYXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50cmliZS1ldmVudHMtbG9vcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC03MCk7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAudHJpYmUtZXZlbnRzLXBob3RvLWdyaWQtc2l6ZXIsXG4gICAgLnRyaWJlLWV2ZW50cy1waG90by1ndXR0ZXItc2l6ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgZGl2LnR5cGUtdHJpYmVfZXZlbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4MCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudC13cmFwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlIHtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoMmRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50LXdyYXAge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogOTAlO1xuICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1NCk7XG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAudHJpYmUtZXZlbnRzLWV2ZW50LWRldGFpbHMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGgzLnRyaWJlLWV2ZW50cy1saXN0LWV2ZW50LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJiAqIHtcbiAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgICAgIC50cmliZS1ldmVudC12ZW51ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRyaWJlLWV2ZW50LXZlbnVlLW1ldGEge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9tYXBtYXJrZXItaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudHJpYmUtZXZlbnQtc2NoZWR1bGUtZGV0YWlscyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Bhbi50cmliZS1ldmVudC1kYXRlLXN0YXJ0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLy9kZXYyLnVwdG93bnN0dWRpb3MubmV0L3RheWxvcnMvd3AtY29udGVudC91cGxvYWRzLzIwMTkvMDMvY2FsZW5kYXItaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudHJpYmUtZXZlbnRzLWxpc3QtcGhvdG8tZGVzY3JpcHRpb24ge1xuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50cmliZS1ldmVudHMtZm9vdGVyLWJ1dHRvbnMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cblxuICAgICAgICBhLmJzLWJ0biB7XG4gICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKSByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICAgICYgKyBhLmJzLWJ0biB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN0cmliZS1ldmVudHMtaGVhZGVyLCBhLnRyaWJlLWV2ZW50cy1pY2FsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5ib2R5Lm5vdC1ob21lIC50cmliZS1ldmVudHMtbG9vcCB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC04MCk7XG59XG5ib2R5Lm5vdC1ob21lIC50cmliZS1ldmVudC1mZWF0dXJlZCB7XG5cbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHB1cnBsZWFscGhhO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpIDAgMCByZW0tY2FsYygzKTtcbiAgICBjb250ZW50OiAnRmVhdHVyZWQnICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJG1yc2VhdmVzO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYygxMCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogcmVtLWNhbGMoMTUpO1xuICAgIHdpZHRoOiByZW0tY2FsYyg4MCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwO1xuICB9XG59XG4jdHJpYmUtZXZlbnRzLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jdHJpYmVfZXZlbnRzX2ZpbHRlcnNfd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAudHJpYmUtZXZlbnRzLWZpbHRlcnMtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygyKSBzb2xpZCAkcHVycGxlO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICBsYWJlbC50cmliZS1ldmVudHMtZmlsdGVycy1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgMDtcbiAgICB9XG4gICAgLnRyaWJlX2V2ZW50c19maWx0ZXJfY29udHJvbCB7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgMDtcblxuICAgICAgYnV0dG9uOm5vdCgudHJpYmVfZXZlbnRzX2ZpbHRlcnNfcmVzZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbi50cmliZV9ldmVudHNfZmlsdGVyc19yZXNldCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgc3Bhbi50cmliZS1ldmVudHMtZmlsdGVyLWNvdW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIGZvcm0jdHJpYmVfZXZlbnRzX2ZpbHRlcnNfZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMDtcblxuICAgICYgPiBmaWVsZHNldCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgYnV0dG9uLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWdyb3VwLWhlYWRpbmcge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgZmllbGRzZXQge1xuXG4gICAgICAudHJpYmUtZXZlbnRzLWZpbHRlci1ncm91cCB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoNDApO1xuXG4gICAgICAgIHVsIHtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuXG4gICAgICAgIC50cmliZS1ldmVudHMtZmlsdGVyLWdyb3VwIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtMTApO1xuXG4gICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udHJpYmUtZXZlbnRzLW5hdi1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gIHVsIGxpIGEge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJHB1cnBsZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLyogU2luZ2xlIEV2ZW50IFN0eWxlcyAqL1xuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIHtcblxuICAubWFpbi13cmFwLmZ1bGwtd2lkdGgge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoODMwKSAhaW1wb3J0YW50O1xuXG4gICAgI3RyaWJlLWV2ZW50cyB7XG5cbiAgICAgICN0cmliZS1ldmVudHMtY29udGVudCB7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOCk7XG5cbiAgICAgICAgICAmLnRyaWJlLWV2ZW50cy1iYWNrIHtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgxLnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZ2xvc3NibG9vbSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTcwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgc3Bhbi50cmliZS1ldmVudHMtc2luZ2xlLWV2ZW50LXRpdGxlLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTcwKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNSkgcmVtLWNhbGMoMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9zZWN0aW9uLWhlYWRpbmctdW5kZXJsaW5lLnN2Zykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNzApO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50cmliZS1ldmVudHMtc2NoZWR1bGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuLnRyaWJlLWV2ZW50cy1jb3N0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50cmliZS1ldmVudHMtc2luZ2xlLWV2ZW50LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG4gICAgICAgIC50cmliZV9ldmVudHMge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuXG4gICAgICAgICAgLnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5icy10cmliZS1ldmVudC13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg2NSUgLSAxLjg3NXJlbSk7XG5cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhLnByaW1hcnkge1xuICAgICAgICAgICAgLy8gYm9yZGVyOiByZW0tY2FsYygxMCkgZG91YmxlICRwdXJwbGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDEuODc1cmVtKTtcblxuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEwKSBkb3VibGUgJHB1cnBsZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZXZlbnRicml0ZS10aWNrZXQtZW1iZWQge1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxMCkgZG91YmxlICRwdXJwbGU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG5cbiAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMSk7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTEpO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMSk7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgJi5wcmltYXJ5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDE1KSByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIC8vIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRsIGRkLCBkbCBkdCB7XG4gICAgICAgICAgICAgIC8vIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmE7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkbCBkZCB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi50cmliZS1ldmVudHMtZXZlbnQtdXJsIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya3B1cnBsZTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudHJpYmUtY291bnRyeS1uYW1lIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5zZWNvbmRhcnkge1xuXG4gICAgICAgICAgICAudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAge1xuXG4gICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50cmliZS1ldmVudHMtdmVudWUtbWFwIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTApIHJlbS1jYWxjKDEwKSAwO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKioqIElOVEVSTkFMIFBBR0UgU1RZTEVTICoqKiovXG5ib2R5Lm5vdC1ob21lIHtcblxuICAvLyBMZWZ0IFNpZGViYXIgUGFnZSBUZW1wbGF0ZSBTdHlsZXNcbiAgJi53b29jb21tZXJjZS1wYWdlLFxuICAmLnBhZ2UtdGVtcGxhdGUtcGFnZS1zaWRlYmFyLWxlZnQge1xuXG4gICAgZGl2Lm1haW4td3JhcCB7XG5cbiAgICAgIGFydGljbGUubWFpbi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI2Ljg3NXJlbSk7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYuMjVyZW0pO1xuICAgICAgICB9XG4gICAgICAgIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgdWwjYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFzaWRlLnNpZGViYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLy9kZXYyLnVwdG93bnN0dWRpb3MubmV0L3RheWxvcnMvd3AtY29udGVudC91cGxvYWRzLzIwMTkvMDMvYmx1ZS1jaGFsa2JvYXJkLXZlcnRpY2FsLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC00MCk7XG4gICAgICAgIG1heC13aWR0aDogMjMuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGdWxsIFdpZHRoIFBhZ2UgVGVtcGxhdGUgU3R5bGVzICovXG4gICYucGFnZS10ZW1wbGF0ZS1wYWdlLWZ1bGwtd2lkdGgge1xuXG4gIH1cbiAgLy8gVGF5bG9ycyBLaXRjaGVuIFBhZ2UgVGVtcGxhdGUgU3R5bGVzXG4gICYucGFnZS10ZW1wbGF0ZS1wYWdlLXRheWxvcnMta2l0Y2hlbiB7XG5cbiAgICAua2l0Y2hlbi1vcGVuLWhvdXJzIHtcbiAgICAgIGNvbG9yOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6ICRtcnNlYXZlcyAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICNtYWluLWNvbnRhaW5lciB7XG5cbiAgICAgIC5tYWluLXdyYXAgPiAubWFpbi1jb250ZW50ID4gLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICAvLyBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgLy8gbWF4LXdpZHRoOiByZW0tY2FsYygxMzAwKTtcbiAgICAgIH1cbiAgICAgIHAsIGxpLCBzcGFuLCB0aW1lIHtcbiAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgfVxuICAgICAgLnN0YWZmLWV4Y2VycHQgcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGRpdiNpbnN0YWZlZWQge1xuXG4gICAgICAgIGEuaW5zdGFncmFtLWltYWdlIHtcblxuICAgICAgICAgIHNwYW4uaWctY2FwdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbnNlY3Rpb24uYnMta2l0Y2hlbi1tZW51LWl0ZW1zLWxvb3Age1xuICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheTtcblxuICB1bC5hY2NvcmRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGxpLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgYS5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbXJzZWF2ZXM7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogLjU7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg0KSAwIDAgcmVtLWNhbGMoMTApO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnNpbmdsZS1raXRjaGVuLW1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1yc2VhdmVzO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNykgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLm1lbnUtaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4NDApO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmICsgcC5tZW51LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC00MCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5tZW51LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubm8tdGFicyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRlcm0tZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICB1bC50YWJzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgIGxpLnRhYnMtdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbXJzZWF2ZXM7XG5cbiAgICAgICAgICAudGFicy1wYW5lbCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcblxuICAgICAgICBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgLy8gdG9wOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgICBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuYm9keS5ub3QtaG9tZS53b29jb21tZXJjZS1wYWdlIHtcblxuICBkaXYubWFpbi13cmFwIHtcblxuICAgIGFydGljbGUubWFpbi1jb250ZW50IHtcblxuICAgICAgLnByb2R1Y3QtbWV0YSB7XG5cbiAgICAgICAgc3Bhbi5tZXRhLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMikgc29saWQgJHB1cnBsZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg4KTtcblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZW50cnktY29udGVudCB7XG5cbiAgICAgICAgLnByb2R1Y3QtdG9wLXdyYXBwZXIge1xuXG4gICAgICAgICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG5cbiAgICAgICAgICAgIGEud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X190cmlnZ2VyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xuXG4gICAgICAgICAgICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgICAgICAgICBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmdhbGxlcnkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgICAgICAgICAgLmdhbGxlcnktaXRlbSB7XG5cbiAgICAgICAgICAgICAgICAgICY6b25seS1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYXNpZGUuc2lkZWJhciB7XG5cbiAgICAgIGZvcm0ud29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2gge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNCk7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLndpZGdldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoNiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogJHllbGxvdyAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsI2ZpbHRlcnMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAud2MtYnJhbmRzLXdyYXBwZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oaGVpZ2h0KTtcblxuICAgICAgICAgIC5icy1pc290b3BlLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZ1dHVyYSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi53b29jb21tZXJjZS53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHtcblxuICAgICAgICAgIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG5cbiAgICAgICAgICAgIGxpLmNhdC1pdGVtIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB1bC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGxpLmNhdC1pdGVtIHtcblxuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiA+IGxpLmNhdC1pdGVtIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Zvb3Rlci1jb250YWluZXIge1xuXG4gIC5mb290ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHVycGxlIHVybCgvL2RldjIudXB0b3duc3R1ZGlvcy5uZXQvdGF5bG9ycy93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wMy9mb290ZXItYmcuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGUgdXJsKC8vZGV2Mi51cHRvd25zdHVkaW9zLm5ldC90YXlsb3JzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAzL2JsdWUtY2hhbGtib2FyZC12ZXJ0aWNhbC1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IHJlbS1jYWxjKDI0KTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgIHRvcDogYXV0bztcbiAgICB9XG4gICAgc2VjdGlvbi5sYXJnZS0zIHtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgd2lkdGg6IDQzJTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMjAwfSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB3aWR0aDogMTklO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEyMDB9IHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgd2lkdGg6IDE5JTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMjAwfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICB3aWR0aDogMTklO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEyMDB9IHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLndpZGdldCB7XG5cbiAgICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJi53aWRnZXQtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdWwubWVudSB7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmdXR1cmEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBsaSB7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJG1yc2VhdmVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAjY29weXJpZ2h0LWNvbnRhaW5lciB7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnV0dXJhO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTmF2aWdhdGlvbiBicmVha3BvaW50c1xuLm1vYmlsZS1tZW51LFxuLnNpdGUtdGl0bGUtYmFyIHtcbiAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xufVxuXG4uZGVza3RvcC1tZW51LFxuYm9keTpub3QoLnRvcGJhcikgLnNpdGUtbmF2aWdhdGlvbiAudG9wLWJhci1sZWZ0IHtcbiAgQGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xufVxuXG4vLyBTaXRlIHRpdGxlXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gTW9iaWxlIG1lbnVcbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIHByZXZlbnRzIHJlcGFpbnQgY2F1c2VkIGJ5IEpTIGhpZGluZyBtZW51IG9ubG9hZFxufVxuXG4ub2ZmLWNhbnZhcyB7XG4gID4gdWwubWVudSB7XG4gICAgLy8gaGVpZ2h0OiAxMDB2aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cblxuICAubWVudSAuYWN0aXZlID4gYSB7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxufVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjQjlCOUI5O1xuICB9XG59XG5cbi5tb2JpbGUtbWVudSxcbi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IHtcblxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZGFyay1uYXYtY29sb3IsIDUlKTtcbiAgfVxufVxuXG4vLyBUYWJsZXQgYW5kIGRlc2t0b3AgbWVudVxuXG4udG9wLWJhciB7XG5cbiAgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjQjlCOUI5O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICB9XG5cbiAgLm1lbnUgYSB7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAmOmhvdmVyOm5vdCguYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI1MjVEO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IC5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4gIC5tZW51PmxpOm5vdCgubWVudS10ZXh0KT5hIHsgcGFkZGluZzogMXJlbTsgfVxuICAubWVudSBsaTpub3QoOmxhc3QtY2hpbGQpIHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRlNGU0ZTsgfVxuXG4gIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHsgYm9yZGVyOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93IGEgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIgeyBib3JkZXI6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogMDsgLy8gcHJldmVudHMgY29udGFpbmVyIHZpc2liaWxpdHkgb24gc21hbGwgc2NyZWVuc1xuICB9XG59XG5cbi8vIFdQIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6cmlnaHQ7XG59XG4iLCIubWFpbi13cmFwIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgLy9tYXJnaW4tdG9wOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gICYuc2lkZWJhci1sZWZ0IHtcblxuICAgIC8vIFBsYWNlIHRoZSBzaWRlYmFyIGJlbG93IG1haW4gY29udGVudCBvbiBzbWFsbCBzY3JlZW5zIC4uLlxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDE7IH1cbiAgICAgICAgLnNpZGViYXIgeyBvcmRlcjogMjsgfVxuICAgICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0byB0aGUgbGVmdCBvbiBtZWRpdW0tdXAgc2NyZWVucywgd2hlbiB1c2luZyB0aGUgc2lkZWJhci1sZWZ0IHRlbXBsYXRlXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDI7IH1cbiAgICAgICAgLnNpZGViYXIgeyBvcmRlcjogMTsgfVxuICAgICAgfVxuICB9XG5cbiAgLy8gRnVsbCB3aWR0aCB0ZW1wbGF0ZVxuICAmLmZ1bGwtd2lkdGgge1xuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tY29udGVudCB7XG5cbiAgICAvLyBEZWZhdWx0IHRlbXBsYXRlXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOCk7XG4gICAgfVxuXG4gIH1cblxuICAuc2lkZWJhciB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcbiAgICAgIC8vIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gIH1cbn1cbiIsImRpdi5wcmUtZm9vdGVyLWNvbnRhaW5lciB7XG5cbiAgJiArIGRpdi5mb290ZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5wcmUtZm9vdGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0MDApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwO1xuICB9XG4gIC53aWRnZXQge1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuXG4gICAgcCB7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmJvZHkuaG9tZSBkaXYucHJlLWZvb3Rlci1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmZvb3Rlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgLy8gbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xufVxuXG4uZm9vdGVyIHtcbiAgLy8gQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoMTQwMCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMCAhaW1wb3J0YW50O1xuXG4gIGFydGljbGUge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiLnNpdGVzLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3gtc2hhZG93OiAwIC0ycHggMCByZ2JhKDAsMCwwLDAuMikgaW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiBub25lO1xufVxuIiwiLmNhcmRzLWNvbnRhaW5lciB7XG5cbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCB0cnVlLCAwLjdyZW0gKTtcblxuICAgIH1cblxuICB9XG59XG4iLCIuZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gIH1cbn1cbiIsIi5kb3R0ZWQge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7XG59XG4iLCIvLyBBcHBseSBvdXRsaW5lIHN0eWxlcyBvbmx5IHdoZW4gaW5wdXQgbWV0aG9kIGlzIGtleWJvYXJkXG4vLyByZW1vdmUgOmZvY3VzIHN0eWxlIHZpYSBXaGF0IElucHV0IHVzaW5nIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50XG4vLyBzbyA6Zm9jdXMgaXNuJ3QgbGVmdCBicm9rZW4gaWYgSmF2YVNjcmlwdCBmYWlsc1xuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXNcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCIvLyBQYWdlIGhlYWRlclxuLmZyb250LWhlcm8ge1xuICAubWFya2V0aW5nIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcig1NXJlbSk7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjUlKSAwO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnJykgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDY4NSk7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNzIpO1xuICB9XG5cbiAgLndhdGNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgI3N0YXJnYXplcnMge1xuICAgICAgOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0d2l0dGVyIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50YWdsaW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi8vIEludHJvXG4uaW50cm8ge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuZnAtaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwKTtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBkaXZpZGVyXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgaHIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIEBleHRlbmQgLmRvdHRlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi8vIEJlbmVmaXRzXG4uYmVuZWZpdHMge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgfVxuICB9XG5cbiAgLnNlbWFudGljLFxuICAucmVzcG9uc2l2ZSxcbiAgLmN1c3RvbWl6YWJsZSxcbiAgLnByb2Zlc3Npb25hbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLndoeS1mb3VuZGF0aW9uIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59XG4iXX0= */
