@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.1.2
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
.slide-in-down.mui-enter, .slide-in-left.mui-enter, .slide-in-up.mui-enter, .slide-in-right.mui-enter, .slide-out-down.mui-leave, .slide-out-right.mui-leave, .slide-out-up.mui-leave, .slide-out-left.mui-leave, .fade-in.mui-enter, .fade-out.mui-leave, .hinge-in-from-top.mui-enter, .hinge-in-from-right.mui-enter, .hinge-in-from-bottom.mui-enter, .hinge-in-from-left.mui-enter, .hinge-in-from-middle-x.mui-enter, .hinge-in-from-middle-y.mui-enter, .hinge-out-from-top.mui-leave, .hinge-out-from-right.mui-leave, .hinge-out-from-bottom.mui-leave, .hinge-out-from-left.mui-leave, .hinge-out-from-middle-x.mui-leave, .hinge-out-from-middle-y.mui-leave, .scale-in-up.mui-enter, .scale-in-down.mui-enter, .scale-out-up.mui-leave, .scale-out-down.mui-leave, .spin-in.mui-enter, .spin-out.mui-leave, .spin-in-ccw.mui-enter, .spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

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

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

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

body {
  padding: 0;
  margin: 0;
  font-family: "EB Garamond", "Times New Roman", Times, serif;
  font-weight: normal;
  line-height: 1.2;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

select {
  width: 100%;
  border-radius: 4px; }

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 4px;
  line-height: 1; }

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

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

.row {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }

.column, .columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.column.row.row, .row.row.columns {
  float: none; }
  .row .column.row.row, .row .row.row.columns {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0; }

.small-1 {
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

.small-2 {
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12 {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

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

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

.small-collapse > .column, .small-collapse > .columns {
  padding-left: 0;
  padding-right: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

@media screen and (min-width: 40em) {
  .medium-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack .column, .row.medium-unstack .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 40em) {
    .row.medium-unstack .column, .row.medium-unstack .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 64em) {
  .large-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack .column, .row.large-unstack .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.large-unstack .column, .row.large-unstack .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 64.0625em) {
  .larger-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .larger-offset-0 {
    margin-left: 0%; }
  .larger-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .larger-offset-1 {
    margin-left: 8.33333%; }
  .larger-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .larger-offset-2 {
    margin-left: 16.66667%; }
  .larger-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .larger-offset-3 {
    margin-left: 25%; }
  .larger-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .larger-offset-4 {
    margin-left: 33.33333%; }
  .larger-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .larger-offset-5 {
    margin-left: 41.66667%; }
  .larger-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .larger-offset-6 {
    margin-left: 50%; }
  .larger-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .larger-offset-7 {
    margin-left: 58.33333%; }
  .larger-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .larger-offset-8 {
    margin-left: 66.66667%; }
  .larger-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .larger-offset-9 {
    margin-left: 75%; }
  .larger-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .larger-offset-10 {
    margin-left: 83.33333%; }
  .larger-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .larger-offset-11 {
    margin-left: 91.66667%; }
  .larger-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .larger-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .larger-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .larger-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .larger-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .larger-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 64.0625em) and (min-width: 64.0625em) {
  .larger-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.larger-unstack .column, .row.larger-unstack .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 64.0625em) {
    .row.larger-unstack .column, .row.larger-unstack .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 64.0625em) {
  .larger-collapse > .column, .larger-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .larger-uncollapse > .column, .larger-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

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

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

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

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

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

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

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

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

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

.column.align-middle, .align-middle.columns {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center; }

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

.column.align-stretch, .align-stretch.columns {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }

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

p {
  font-size: inherit;
  line-height: 1.2;
  margin-bottom: 1rem;
  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: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.2; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #707070;
    line-height: 0; }

h1 {
  font-size: 3rem; }

h2 {
  font-size: 2.25rem; }

h3 {
  font-size: 1.625rem; }

h4 {
  font-size: 1rem; }

h5 {
  font-size: 0.75rem; }

h6 {
  font-size: 0.625rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 4.0625rem; }
  h2 {
    font-size: 2.25rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.125rem; }
  h5 {
    font-size: 0.875rem; }
  h6 {
    font-size: 0.75rem; } }

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

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

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

li {
  font-size: inherit; }

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

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 #707070; }
  blockquote, blockquote p {
    line-height: 1.2;
    color: #292929; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #292929; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #000;
  cursor: help;
  border-bottom: 1px dotted #000; }

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

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

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

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

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

.no-bullet, .page-menu {
  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 screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !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 #999;
    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; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #000000;
  color: #fff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: black;
    color: #fff; }
  .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-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #000000;
    color: #fff; }
    .button.primary:hover, .button.primary:focus {
      background-color: black;
      color: #fff; }
  .button.secondary {
    background-color: #f2f2f2;
    color: #fff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #c2c2c2;
      color: #fff; }
  .button.success {
    background-color: #70bf4a;
    color: #fff; }
    .button.success:hover, .button.success:focus {
      background-color: #589d37;
      color: #fff; }
  .button.alert {
    background-color: #a6966a;
    color: #fff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #887a51;
      color: #fff; }
  .button.warning {
    background-color: #ffae00;
    color: #fff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fff; }
  .button.hollow {
    border: 1px solid #000000;
    color: #000000; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: black;
      color: black; }
    .button.hollow.primary {
      border: 1px solid #000000;
      color: #000000; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: black;
        color: black; }
    .button.hollow.secondary {
      border: 1px solid #f2f2f2;
      color: #f2f2f2; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #797979;
        color: #797979; }
    .button.hollow.success {
      border: 1px solid #70bf4a;
      color: #70bf4a; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #376223;
        color: #376223; }
    .button.hollow.alert {
      border: 1px solid #a6966a;
      color: #a6966a; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #554c33;
        color: #554c33; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
    pointer-events: none; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fff transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: 0.2em; }

[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;
  padding: 0.5rem;
  border: 1px solid #707070;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #000;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-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 {
    border: 1px solid #292929;
    background-color: #fff;
    outline: none;
    box-shadow: 0 0 5px #707070;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #b5b5b5;
  cursor: default; }

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

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;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

label > [type='checkbox'],
label > [type='label'] {
  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: #000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 4px 0 0 4px; }
  .input-group > :last-child > * {
    border-radius: 0 4px 4px 0; }

.input-group-label, .input-group-field, .input-group-button {
  display: table-cell;
  margin: 0;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  width: 1%;
  height: 100%;
  padding: 0 1rem;
  background: #b5b5b5;
  color: #000;
  border: 1px solid #707070;
  white-space: nowrap; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  height: 100%;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

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

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

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

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #707070;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #000;
  background-color: #fff;
  border-radius: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
  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%2851, 51, 51%29"></polygon></svg>');
  background-size: 9px 6px;
  background-position: right center;
  background-origin: content-box;
  background-repeat: no-repeat; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #b5b5b5;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto; }

.is-invalid-input:not(:focus) {
  background-color: rgba(166, 150, 106, 0.1);
  border-color: #a6966a; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

@media 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: 64em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto; }

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

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

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

.clearfix::before, .clearfix::after {
  content: ' ';
  display: table; }

.clearfix::after {
  clear: both; }

.accordion {
  list-style-type: none;
  background: #f2f2f2;
  border: 0px;
  border-bottom: 0;
  border-radius: 4px;
  margin-left: 0; }

.accordion-title {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #000000;
  position: relative;
  border-bottom: 0px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #b5b5b5; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1rem;
  display: none;
  border-bottom: 0px;
  background-color: #fff; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #000;
    font-size: 0.6875rem;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      color: #707070;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #000000; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #707070; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0.9rem; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    float: left;
    margin: 0;
    font-size: inherit; }
    .button-group .button:not(:last-child) {
      border-right: 1px solid #fff; }
  .button-group.tiny {
    font-size: 0.6rem; }
  .button-group.small {
    font-size: 0.75rem; }
  .button-group.large {
    font-size: 1.25rem; }
  .button-group.expanded {
    display: table;
    table-layout: fixed;
    width: 100%; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button {
      display: table-cell;
      float: none; }
  .button-group.primary .button {
    background-color: #000000;
    color: #fff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: black;
      color: #fff; }
  .button-group.secondary .button {
    background-color: #f2f2f2;
    color: #000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button-group.success .button {
    background-color: #70bf4a;
    color: #fff; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #589d37;
      color: #fff; }
  .button-group.alert .button {
    background-color: #a6966a;
    color: #fff; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #887a51;
      color: #fff; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fff; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fff; }
  .button-group.stacked .button, .button-group.stacked-for-small .button {
    width: 100%; }
    .button-group.stacked .button:not(:last-child), .button-group.stacked-for-small .button:not(:last-child) {
      border-right: 1px solid; }
  @media screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto; }
      .button-group.stacked-for-small .button:not(:last-child) {
        border-right: 1px solid #fff; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        border-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  position: relative;
  color: #000;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d9d9d9; }
  .callout.secondary {
    background-color: #fdfdfd; }
  .callout.success {
    background-color: #eaf5e4; }
  .callout.alert {
    background-color: #f2efe9; }
  .callout.warning {
    background-color: #fff3d9; }
  .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; }

.close-button {
  position: absolute;
  color: #292929;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000; }

.is-drilldown {
  position: relative;
  overflow: hidden; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #fff;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }

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

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

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

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

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

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

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

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

.dropdown.menu:not(.vertical) .is-dropdown-submenu.first-sub {
  top: 100%;
  left: 0;
  right: auto; }

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

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }
  .is-dropdown-menu.vertical > li .is-dropdown-submenu {
    top: 0;
    left: 100%; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    float: right;
    margin-top: 3px;
    margin-left: 10px; }
  .is-dropdown-submenu-parent.is-left-arrow.opens-inner .is-dropdown-submenu {
    right: 0;
    left: auto; }
  .is-dropdown-submenu-parent.is-right-arrow.opens-inner .is-dropdown-submenu {
    left: 0;
    right: auto; }
  .is-dropdown-submenu-parent.opens-inner .is-dropdown-submenu {
    top: 100%; }
  .is-dropdown-submenu-parent.opens-left .is-dropdown-submenu {
    left: auto;
    right: 100%; }

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fff;
  border: 1px solid #707070; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > .is-dropdown-submenu, .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 4px;
  background: #000000;
  color: #fff; }
  .label.secondary {
    background: #f2f2f2;
    color: #000; }
  .label.success {
    background: #70bf4a;
    color: #fff; }
  .label.alert {
    background: #a6966a;
    color: #fff; }
  .label.warning {
    background: #ffae00;
    color: #fff; }

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      display: block;
      padding: 0;
      padding-bottom: 1rem; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a > img,
  .menu > li > a > i {
    vertical-align: middle; }
  .menu > li > a > span {
    vertical-align: middle; }
  .menu > li > a > img,
  .menu > li > a > i {
    display: inline-block;
    margin-right: 0.25rem; }
  .menu > li {
    display: table-cell; }
  .menu.vertical > li {
    display: block; }
  @media screen and (min-width: 40em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-vertical > li {
      display: block; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-vertical > li {
      display: block; } }
  @media screen and (min-width: 64.0625em) {
    .menu.larger-horizontal > li {
      display: table-cell; }
    .menu.larger-vertical > li {
      display: block; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right > li {
    float: right; }
  .menu.expanded {
    display: table;
    table-layout: fixed;
    width: 100%; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a > img,
    .menu.icon-top > li > a > i {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem; }

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

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fff;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #b5b5b5;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(0);
          transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -webkit-transform: translateX(250px);
              transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -webkit-transform: translateX(-250px);
              transform: translateX(-250px); }

@media screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64.0625em) {
  .position-left.reveal-for-larger {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-larger ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-larger {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-larger ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 4px;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #000;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 4px; }
    .pagination a:hover,
    .pagination button:hover {
      background: #b5b5b5; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #000000;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #707070;
    cursor: default; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '…';
    padding: 0.1875rem 0.625rem;
    color: #000; }

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

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

.progress {
  background-color: #707070;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 4px; }
  .progress.primary .progress-meter {
    background-color: #000000; }
  .progress.secondary .progress-meter {
    background-color: #f2f2f2; }
  .progress.success .progress-meter {
    background-color: #70bf4a; }
  .progress.alert .progress-meter {
    background-color: #a6966a; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #000000;
  border-radius: 4px; }

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

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

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #707070;
  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%);
          transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #000000;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 4px; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: black; }
  .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);
          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%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

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

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

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

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

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #707070;
  margin: 6.25rem auto 0;
  background-color: #fff;
  border-radius: 4px;
  position: absolute;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 79.375rem; } }
  @media screen and (min-width: 40em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 79.375rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 79.375rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 79.375rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0; }

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

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

.switch-paddle {
  background: #707070;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 4px;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fff;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 4px; }
  input:checked ~ .switch-paddle {
    background: #000000; }
    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%);
          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 .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

.switch.tiny .switch-paddle::after {
  width: 1rem;
  height: 1rem; }

.switch.tiny input:checked ~ .switch-paddle:after {
  left: 1.75rem; }

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem; }

.switch.small .switch-paddle::after {
  width: 1.25rem;
  height: 1.25rem; }

.switch.small input:checked ~ .switch-paddle:after {
  left: 2rem; }

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem; }

.switch.large .switch-paddle::after {
  width: 2rem;
  height: 2rem; }

.switch.large input:checked ~ .switch-paddle:after {
  left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 4px; }
  thead,
  tbody,
  tfoot {
    border: 1px solid rgba(13, 13, 13, 0);
    background-color: transparent; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead,
  tfoot {
    background: rgba(6, 6, 6, 0);
    color: #000; }
    thead tr,
    tfoot tr {
      background: transparent; }
    thead th,
    thead td,
    tfoot th,
    tfoot td {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: bold;
      text-align: left; }
  tbody tr:nth-child(even) {
    background-color: transparent; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@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 tr:hover {
  background-color: rgba(0, 0, 0, 0); }

table.hover tr:nth-of-type(even):hover {
  background-color: rgba(0, 0, 0, 0); }

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fff;
  border: 1px solid transparent; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #000000; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #0d0d0d; }

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

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

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

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

.thumbnail {
  border: solid 4px #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 4px;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.5); }

.title-bar {
  background: #000;
  color: #fff;
  padding: 0.5rem; }
  .title-bar::before, .title-bar::after {
    content: ' ';
    display: table; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.5rem; }

.title-bar-left {
  float: left; }

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

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

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

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

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

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

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #b5b5b5; }
  .top-bar input {
    width: 200px;
    margin-right: 1rem; }
  .top-bar input.button {
    width: auto; }

@media screen and (max-width: 39.9375em) {
  .stacked-for-small .top-bar-title {
    width: 100%; }
  .stacked-for-small .top-bar-right {
    width: 100%; }
  .stacked-for-small .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 63.9375em) {
  .stacked-for-medium .top-bar-title {
    width: 100%; }
  .stacked-for-medium .top-bar-right {
    width: 100%; }
  .stacked-for-medium .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 64em) {
  .stacked-for-large .top-bar-title {
    width: 100%; }
  .stacked-for-large .top-bar-right {
    width: 100%; }
  .stacked-for-large .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 74.9375em) {
  .stacked-for-larger .top-bar-title {
    width: 100%; }
  .stacked-for-larger .top-bar-right {
    width: 100%; }
  .stacked-for-larger .top-bar-left {
    width: 100%; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .top-bar-title {
    width: 100%; }
  .top-bar-right {
    width: 100%; }
  .top-bar-left {
    width: 100%; } }

.top-bar-title {
  float: left;
  margin-right: 1rem; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fade-in.mui-enter {
  opacity: 0;
  transition-property: opacity; }

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

.fade-out.mui-leave {
  opacity: 1;
  transition-property: opacity; }

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

.hinge-in-from-top.mui-enter {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  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 {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

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

.scale-in-down.mui-enter {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

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

.scale-out-up.mui-leave {
  -webkit-transform: scale(1);
          transform: scale(1);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

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

.scale-out-down.mui-leave {
  -webkit-transform: scale(1);
          transform: scale(1);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

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

.spin-in.mui-enter {
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

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

.spin-out.mui-leave {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

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

.spin-in-ccw.mui-enter {
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

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

.spin-out-ccw.mui-leave {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-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); } }

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

.accordion {
  border-radius: 0px;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  margin-left: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
  position: relative; }
  .accordion :before {
    font-size: 11.25px;
    font-size: 1.125rem; }
  .accordion span {
    font-size: 7.5px;
    font-size: 0.75rem; }
  .accordion .accordion-title {
    display: block;
    padding: 1.25rem 1rem;
    line-height: 1;
    font-size: 0.75rem;
    border-bottom: 1px solid #e6e6e6; }
  .accordion .accordion-content {
    padding: 1rem; }

.button {
  margin: 0 0 1rem;
  height: 3.25rem;
  width: auto;
  min-width: 11.25rem;
  border-radius: 4px;
  border: 2px solid;
  line-height: 1.5;
  transition: all 0.15s ease-out; }
  .button.primary {
    background-color: #fff;
    color: #000;
    border-color: #fff;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700; }
    .button.primary.medium {
      min-width: 10rem; }
    .button.primary:hover, .button.primary:focus, .button.primary:active {
      background-color: #fff;
      color: #000; }
  .button.secondary {
    color: #fff;
    background-color: transparent;
    border-color: #fff;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700; }
    .button.secondary.medium {
      min-width: 9rem; }
    .button.secondary:hover, .button.secondary:focus, .button.secondary:active {
      background-color: transparent;
      color: #fff; }
  .button.tertiary {
    color: #a6966a;
    background-color: transparent;
    border-color: #a6966a;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700; }
    .button.tertiary:hover, .button.tertiary:focus, .button.tertiary:active {
      background-color: transparent;
      color: #a6966a; }
    .button.tertiary.btn-contactus {
      background-color: #fff;
      position: fixed;
      right: -2px;
      top: 69%;
      min-width: 0;
      z-index: 999;
      border-radius: 4px 0 0 4px; }
  .button.large {
    font-size: 1.125rem;
    line-height: 1.125rem; }
  .button.square-corners {
    border-radius: 0px; }
  .button.full-width {
    width: 100%; }

.form label {
  font-size: 0.875rem;
  font-weight: bold; }

.form__buttons {
  text-align: center; }
  .form__buttons .button {
    margin: 0.5rem; }

.form input[type=checkbox] {
  cursor: pointer;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%); }

.form input.is-invalid-input:not(:focus), .form select.is-invalid-input:not(:focus), .form textarea.is-invalid-input:not(:focus) {
  border-color: #e44242;
  background-color: #fff; }

.callout.alert {
  border-color: #e44242;
  color: #e44242;
  background-color: #fff; }

.form-inverse input[type="checkbox"] {
  position: absolute;
  left: -9999px; }
  .form-inverse input[type="checkbox"] + label {
    position: relative;
    padding-left: 1.5rem;
    cursor: pointer;
    color: #b5b5b5;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }
    .form-inverse input[type="checkbox"] + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 3px;
      width: 1rem;
      height: 1rem;
      background: #626262;
      border: 0px;
      border-radius: 0.125rem; }
    .form-inverse input[type="checkbox"] + label:after {
      opacity: 0;
      content: "\2713";
      position: absolute;
      top: 0px;
      left: -1px;
      font-size: 1.5rem;
      line-height: 1rem;
      color: white; }
    @media screen\0 {
      .form-inverse input[type="checkbox"] + label:after {
        top: 12px;
        left: -2px; } }
  .form-inverse input[type="checkbox"]:checked + label:after {
    opacity: 1; }
  .form-inverse input[type="checkbox"]:disabled + label, .form-inverse input[type="checkbox"].disabled + label {
    opacity: 0.25;
    cursor: auto; }
  .form-inverse input[type="checkbox"]:focus + label, .form-inverse input[type="checkbox"] + label:hover {
    color: #e2e2e2; }

.form-inverse input[type=text], .form-inverse input[type=email] {
  color: #fff;
  border-radius: 0.125rem;
  border: 1px solid #fff;
  background-color: #000;
  padding: 4px 15px; }

.form-inverse input[type="radio"] {
  position: absolute;
  left: -9999px; }
  .form-inverse input[type="radio"] + label {
    position: relative;
    padding-left: 1.5rem;
    cursor: pointer;
    color: #b5b5b5;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }
    .form-inverse input[type="radio"] + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 1rem;
      height: 1rem;
      background: #626262;
      border: 0px;
      border-radius: 100%; }
    .form-inverse input[type="radio"] + label:after {
      opacity: 0;
      content: "";
      position: absolute;
      top: 0.25rem;
      left: 0.25rem;
      width: 0.5rem;
      height: 0.5rem;
      font-size: 1rem;
      line-height: 1rem;
      color: white;
      border-radius: 100%;
      background: #fff; }
  .form-inverse input[type="radio"]:checked + label:after {
    opacity: 1; }
  .form-inverse input[type="radio"]:disabled + label, .form-inverse input[type="radio"].disabled + label {
    opacity: 0.25;
    cursor: auto; }

.form-label {
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 18px;
  color: #b5b5b5; }

.form-select {
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #000;
  padding-right: 1rem;
  border: 1px solid #000;
  border-radius: 0;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,0 4.5,4.5' style='stroke-width: 1px; stroke:black;' /%3E%3Cpolyline points='4.5,4.5 9,0' style='stroke-width: 1px; stroke:black;' /%3E%3C/svg%3E");
  background-repeat: no-repeat; }

/* WFM styling */
.scfSingleLineGeneralPanel, .scfDropListGeneralPanel, .scfMultipleLineGeneralPanel, .scfEmailGeneralPanel {
  float: none !important;
  width: 100% !important;
  margin-bottom: 25px; }

.scfRequired {
  display: none; }

.scfError, .scfValidationSummary, .scfValidatorRequired, .scfValidator {
  font-size: 12px; }

.scfSingleLineGeneralPanel, .scfEmailGeneralPanel, .scfDropListGeneralPanel, .scfDropListGeneralPanel {
  margin-bottom: 15px; }

/****************************/
/*  TAKE THIS!              */
/****************************/
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative; }

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item, .owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%; }

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none; }

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block; }

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden; }

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

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

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

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

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

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

.owl-height {
  transition: height .5s ease-in-out; }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity .4s ease; }

.owl-carousel .owl-item .owl-lazy:not([src]), .owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

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

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

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

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

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

.img-gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start; }
  @media (min-width: 768px) {
    .img-gallery {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .img-gallery figure {
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    position: relative; }
    .img-gallery figure:hover, .img-gallery figure:focus {
      cursor: pointer; }
    @media (min-width: 768px) {
      .img-gallery figure {
        padding: 11.5% 0 0;
        overflow: hidden;
        width: calc(20% - 10px);
        margin: 0 10px 10px 0; } }
    .img-gallery figure img {
      width: auto;
      max-width: 100%; }
      @media (min-width: 768px) {
        .img-gallery figure img {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); } }

.dialogs .dialog-backdrop {
  display: none;
  position: fixed;
  z-index: 5000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(27, 27, 27, 0);
  overflow-y: auto; }

.dialogs .dialog-backdrop.active {
  display: block;
  background: rgba(27, 27, 27, 0.95); }

.dialogs [role="dialog"] {
  display: block;
  position: absolute;
  z-index: 5000;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100vw;
  max-width: 1000px;
  height: 100vh;
  padding: 4.5rem 2.5rem 2.5rem;
  border: none;
  background: transparent; }
  @media screen and (min-width: 1025px) {
    .dialogs [role="dialog"] {
      padding: 2.5rem; } }

@media screen and (min-width: 768px) {
  .dialogs [role="dialog"] {
    height: auto; } }

.dialogs [role="dialog"].hidden {
  display: none; }

.dialogs [role="dialog"] button.close {
  position: absolute;
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  z-index: 5000;
  right: 15px;
  top: 4rem;
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  width: 25px;
  height: 25px;
  border: none;
  background: transparent;
  color: #fff;
  font-weight: 100;
  padding: 0; }
  @media screen and (min-width: 768px) {
    .dialogs [role="dialog"] button.close {
      right: 20px; } }
  @media screen and (min-width: 1025px) {
    .dialogs [role="dialog"] button.close {
      top: 2rem; } }
  .dialogs [role="dialog"] button.close svg {
    width: 25px;
    height: 25px; }
    .dialogs [role="dialog"] button.close svg path {
      fill: #fff; }

.dialogs [role="dialog"] button.close:hover, .dialogs [role="dialog"] button.close:focus {
  opacity: .5;
  cursor: pointer; }

.dialogs > div > div > div {
  height: 100%; }
  @media (min-width: 768px) {
    .dialogs > div > div > div {
      height: auto; } }

@media (min-width: 768px) {
  .dialogs > div > div {
    position: relative;
    width: 100%;
    /*overflow:hidden;*/ } }

.dialogs > div > div .single-item {
  width: 100%;
  max-width: 800px;
  max-height: 915px;
  height: 100%;
  margin: 0 auto;
  position: relative; }
  @media (min-width: 768px) {
    .dialogs > div > div .single-item {
      height: auto; } }
  .dialogs > div > div .single-item img {
    display: block;
    max-height: 915px;
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: 'object-fit: contain;';
    max-width: 100%;
    padding: 40px 0 20px;
    margin: 0 auto; }
    @media (min-width: 768px) {
      .dialogs > div > div .single-item img {
        height: auto;
        width: auto; } }
  .dialogs > div > div .single-item figcaption {
    text-transform: uppercase;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-align: left;
    line-height: 1rem; }

.dialogs > div > div #largeCarousel {
  width: 100%;
  height: 420px;
  margin: 40px auto 30px;
  position: relative; }
  @media (min-width: 768px) {
    .dialogs > div > div #largeCarousel {
      height: 655px; } }
  .dialogs > div > div #largeCarousel .owl-stage-outer, .dialogs > div > div #largeCarousel .owl-stage {
    height: 100% !important; }
  .dialogs > div > div #largeCarousel .owl-item {
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-touch-callout: none;
    margin: 0 0 50px;
    height: 100%; }
    .dialogs > div > div #largeCarousel .owl-item figure {
      margin: 0;
      padding: 1rem 0 0;
      overflow: hidden;
      position: relative;
      text-align: center;
      height: 100%;
      overflow-y: auto; }
      .dialogs > div > div #largeCarousel .owl-item figure > span {
        text-transform: uppercase;
        font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
        font-size: 12px;
        font-weight: 700;
        color: #fff;
        text-align: center;
        padding: .5rem 1rem;
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background-color: rgba(0, 0, 0, 0.6); }
        @media (min-width: 768px) {
          .dialogs > div > div #largeCarousel .owl-item figure > span {
            top: 4rem;
            right: 1.2rem;
            left: auto; } }
      .dialogs > div > div #largeCarousel .owl-item figure img {
        max-height: 915px;
        max-width: 100%;
        position: relative;
        margin: 0 auto 1rem;
        width: 100%;
        object-fit: contain;
        font-family: 'object-fit: contain;';
        height: calc(90% - 24px); }
        @media (min-width: 768px) {
          .dialogs > div > div #largeCarousel .owl-item figure img {
            height: 90%; } }
      .dialogs > div > div #largeCarousel .owl-item figure .video-wrap {
        width: 100%;
        height: 0;
        padding: 62.5% 0 0;
        margin: 0 0 1rem;
        overflow: hidden;
        position: relative; }
        .dialogs > div > div #largeCarousel .owl-item figure .video-wrap iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100% !important;
          height: 100% !important; }
      .dialogs > div > div #largeCarousel .owl-item figure figcaption {
        text-transform: uppercase;
        font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
        font-size: 12px;
        font-weight: 700;
        color: #fff;
        text-align: left;
        line-height: 1rem; }
  .dialogs > div > div #largeCarousel .owl-nav {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: calc(100% + 5rem);
    position: absolute;
    top: calc(50% - 1rem);
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media (min-width: 768px) {
      .dialogs > div > div #largeCarousel .owl-nav {
        width: calc(100% + 80px); } }
    .dialogs > div > div #largeCarousel .owl-nav > button {
      color: #fff;
      width: 30px;
      height: 30px; }
      .dialogs > div > div #largeCarousel .owl-nav > button:hover, .dialogs > div > div #largeCarousel .owl-nav > button:focus {
        opacity: .5; }
      .dialogs > div > div #largeCarousel .owl-nav > button svg {
        height: 30px;
        width: 30px; }
        .dialogs > div > div #largeCarousel .owl-nav > button svg path {
          fill: #fff; }

.dialogs > div > div #thumbnailCarousel {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  display: none; }
  @media (min-width: 768px) {
    .dialogs > div > div #thumbnailCarousel {
      display: block; } }
  .dialogs > div > div #thumbnailCarousel .owl-item {
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-touch-callout: none; }
    .dialogs > div > div #thumbnailCarousel .owl-item .item {
      padding: 66.5% 0 0;
      overflow: hidden;
      position: relative; }
      .dialogs > div > div #thumbnailCarousel .owl-item .item img {
        width: auto;
        max-width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
    .dialogs > div > div #thumbnailCarousel .owl-item:hover, .dialogs > div > div #thumbnailCarousel .owl-item:focus {
      cursor: pointer; }

.vid-thumb {
  position: relative; }
  .vid-thumb:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 40px;
    border-color: transparent transparent transparent rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

#thumbnailCarousel .vid-thumb:before {
  border-width: 10px 0 10px 20px; }

.single-image figure {
  max-width: 500px;
  padding: 0;
  position: relative;
  margin: 0; }
  .single-image figure:hover, .single-image figure:focus {
    cursor: pointer; }
  .single-image figure img {
    max-width: 100%;
    max-height: 500px; }
  .single-image figure figcaption {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    padding: 10px 0;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    text-align: left; }

.icon {
  vertical-align: middle; }
  .icon.is-gray {
    fill: #b5b5b5; }
  .icon.is-green {
    fill: #70bf4a; }
  .icon.is-link {
    fill: #a6966a; }
  .icon.is-white {
    fill: white; }
  .icon-xxsmall {
    width: 16px;
    height: 16px; }
  .icon-xsmall {
    width: 24px;
    height: 24px; }
  .icon-small {
    width: 40px;
    height: 40px; }
  .icon-medium {
    width: 48px;
    height: 48px; }
  .icon-inline {
    margin-right: 0.5rem; }
  .icon-is-logo {
    width: 50px;
    height: 35px; }
    @media screen and (min-width: 64em) {
      .icon-is-logo {
        width: 70px;
        height: 50px; } }

.image-inline {
  display: inline-block; }

.image-icons {
  width: 30px;
  height: 40px; }

html {
  height: auto; }

body {
  height: 100%;
  position: relative; }
  body.is-reveal-open {
    overflow: hidden;
    position: fixed; }
  @media screen and (min-width: 63.9375em) {
    body.is-reveal-open {
      position: relative; } }
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    body.is-reveal-open {
      position: fixed; } }
  body.is-menu {
    overflow: hidden;
    position: fixed; }
  @media screen and (min-width: 63.9375em) {
    body.is-menu {
      position: relative; } }

section {
  margin: 2.5rem 0; }

@media only screen and (max-width: 768px) {
  .desktop-only {
    display: none; } }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .desktop-only {
    display: block; } }

.desktop-only.full-width {
  width: 100%; }

.lt-primary-bg-color {
  background-color: #fff;
  color: #000000; }

.lt-secondary-bg-color {
  background-color: #f2f2f2;
  color: #000000; }

.lt-tertiary-bg-color {
  background-color: #000;
  color: #b5b5b5; }

.lt-full-row {
  max-width: 100%; }

.lt-row-collapse {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0; }
  .lt-row-collapse::before, .lt-row-collapse::after {
    content: ' ';
    display: table; }
  .lt-row-collapse::after {
    clear: both; }
  .lt-row-collapse:last-child:not(:first-child) {
    float: right; }
  .lt-row-collapse, .lt-row-collapse:last-child {
    float: none; }
  .lt-row-collapse .columns {
    padding-left: 0;
    padding-right: 0; }

.lt-quaternary-bg-color {
  background-color: #000;
  color: #fff; }

.lt-quinary-bg-color {
  background-color: #1A1A1A;
  color: #fff; }

.lt-main-content {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  padding: 0;
  position: relative;
  margin-top: -90px;
  min-height: 100px;
  z-index: 1; }
  .lt-main-content::before, .lt-main-content::after {
    content: ' ';
    display: table; }
  .lt-main-content::after {
    clear: both; }
  .lt-main-content:last-child:not(:first-child) {
    float: right; }
  .lt-main-content, .lt-main-content:last-child {
    float: none; }
  @media screen and (max-width: 64em) {
    .lt-main-content {
      padding-left: 1rem;
      padding-right: 1rem;
      margin-top: 0px; } }

.lt-section-padding-xlarge {
  padding: 4.5rem 0; }
  .lt-section-padding-xlarge-all {
    padding: 4.5rem; }
  .lt-section-padding-xlarge > h1 {
    margin-bottom: 4rem; }

.lt-section-padding-large {
  padding: 3.125rem 0; }
  .lt-section-padding-large-all {
    padding: 3.125rem 0.9375rem; }
  .lt-section-padding-large-top {
    padding: 3.125rem 0 0; }
  .lt-section-padding-large > h1 {
    margin-bottom: 4rem; }

.lt-section-padding-medium {
  padding: 2.5rem 0; }
  .lt-section-padding-medium-all {
    padding: 1rem; }
    @media screen and (min-width: 40em) {
      .lt-section-padding-medium-all {
        padding: 2.5rem 1.875rem; } }
  @media screen and (min-width: 40em) {
    .lt-section-padding-medium-right {
      padding-right: 2.5rem; } }
  .lt-section-padding-medium > h1 {
    margin-bottom: 1rem; }

.lt-section-padding-small {
  padding: 1rem 0; }
  .lt-section-padding-small-all {
    padding: 1rem; }
  .lt-section-padding-small-sides {
    padding: 0 1rem; }
  .lt-section-padding-small-right {
    padding-right: 1rem; }
  .lt-section-padding-small > h1 {
    margin-bottom: 1rem; }

.lt-section-padding-xsmall {
  padding: 0.5rem 0; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .lt-section-padding-remove-small {
    padding: 0 !important; } }

.lt-section-padding-left {
  padding-left: 20px; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .lt-section-padding-bottom-small {
    margin-bottom: 1rem; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .lt-section-padding-bottom-medium {
    margin-bottom: 2rem; } }

.lt-section-rounded {
  border-radius: 4px; }

.lt-section-rounded-remove {
  border-radius: 0; }

.lt-section-border-remove {
  border: none; }

.lt-section-equal-xsmall {
  margin-top: .5rem;
  margin-bottom: .5rem; }

.lt-section-equal-small {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.lt-section-spacer {
  margin-bottom: 20px; }
  .lt-section-spacer-large {
    margin-bottom: 3.125rem; }
  .lt-section-spacer-medium {
    margin-bottom: 2.5rem; }
  .lt-section-spacer-small {
    margin-bottom: 1rem; }
  .lt-section-spacer-small-top {
    margin-top: 1rem; }
  .lt-section-spacer-medium-top {
    margin-top: 2.5rem; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .lt-section-spacer-remove-small {
      margin: 0 !important; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .lt-section-spacer-remove-medium {
      margin: 0 !important; } }

.lt-column-collapse {
  padding-left: 0px;
  padding-right: 0px; }

.lt-column-separator, .lt-column-separator-middle, .lt-column-separator-top, .lt-column-separator-xsmall, .lt-column-separator-small, .lt-column-separator-medium {
  position: relative;
  padding: 0; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .lt-column-separator, .lt-column-separator-middle, .lt-column-separator-top, .lt-column-separator-xsmall, .lt-column-separator-small, .lt-column-separator-medium {
      display: none; } }
  .lt-column-separator:after, .lt-column-separator-middle:after, .lt-column-separator-top:after, .lt-column-separator-xsmall:after, .lt-column-separator-small:after, .lt-column-separator-medium:after {
    content: '';
    position: absolute;
    right: 0;
    top: 3rem;
    border-right: 1px solid #b5b5b5;
    height: 130px; }
  .lt-column-separator:last-child:after, .lt-column-separator-middle:last-child:after, .lt-column-separator-top:last-child:after, .lt-column-separator-xsmall:last-child:after, .lt-column-separator-small:last-child:after, .lt-column-separator-medium:last-child:after {
    display: none; }
  .lt-column-separator-middle:after {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    margin-top: 0;
    right: 0; }
  .lt-column-separator-top:after {
    top: 0px;
    margin-top: 0;
    right: 1rem; }
  .lt-column-separator-xsmall:after {
    top: 50%;
    height: 24px;
    right: 0;
    display: block;
    color: #b5b5b5;
    margin-top: -.75rem; }
  .lt-column-separator-small {
    height: 54px;
    padding: 0; }
    .lt-column-separator-small:after {
      height: 54px;
      top: 0;
      width: 0;
      margin-top: 0; }
  .lt-column-separator-medium {
    padding: 0; }
    .lt-column-separator-medium:after {
      height: 84px;
      top: 50%;
      width: 0;
      margin-top: 0; }
  .lt-column-separator-large {
    position: relative; }
    .lt-column-separator-large:after {
      content: '';
      position: absolute;
      top: 2rem;
      right: 0;
      border-right: 1px solid #b5b5b5;
      height: 214px; }
      @media screen and (max-width: 63.9375em) {
        .lt-column-separator-large:after {
          display: none; } }
    .lt-column-separator-large:last-child:after {
      display: none; }

.lt-content {
  margin-bottom: 30px; }
  .lt-content:last-child {
    margin-bottom: 0; }
  .lt-content-padding-top {
    padding-top: 3.125rem; }
  .lt-content-padding-xlarge-right {
    padding-right: 10rem; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .lt-content-padding-xlarge-right {
        padding-right: 0; } }
  .lt-content-spacer {
    margin-bottom: 50px; }

.lt-no-margin {
  margin: 0; }

.lt-middle-margin {
  margin: 0 auto; }

.lt-force-margin-right {
  margin-right: 0.9375rem; }

.lt-force-margin-left {
  margin-left: 0.9375rem; }

.lt-force-margin-medium-right {
  margin-right: 1.5rem; }

.lt-force-margin-medium-left {
  margin-left: 1.5rem; }

.lt-shadow {
  box-shadow: 0 2px 2px 0.5px rgba(0, 0, 0, 0.1); }

.lt-position-absolute {
  position: absolute; }

.lt-position-relative {
  position: relative; }

.js .is-hidden {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

/* Styles for screens that are atleast 768px; */
@media only screen and (min-width: 768px) {
  .large-7 {
    position: relative;
    width: 58.33333%; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; } }

.column.flex-full, .flex-full.columns, .columns.flex-full {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .small-float-center {
    float: none !important;
    text-align: center; } }

.goAway {
  position: absolute;
  left: 999999px; }

/* Fix for iPad when displaying Reveal modal with lots of content */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .ipad-scrollfix {
    overflow-y: scroll;
    height: 450px;
    -webkit-overflow-scrolling: touch; } }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
  .ipad-landscape-scrollfix {
    overflow-y: scroll;
    height: 450px;
    -webkit-overflow-scrolling: touch; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .iphone-scrollfix {
    overflow-y: scroll;
    height: 380px;
    -webkit-overflow-scrolling: touch; } }

@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
  .iphone-landscape-scrollfix {
    overflow-y: scroll;
    height: 300px;
    -webkit-overflow-scrolling: touch; } }

/* Class for fixing Registered symbol */
.registration {
  font-size: 2.5rem;
  line-height: .25rem;
  vertical-align: bottom; }

.sitemap {
  padding-top: 0; }
  .sitemap > li {
    padding-bottom: 20px; }
  .sitemap ul > li {
    padding-top: 20px; }
    .sitemap ul > li ul > li {
      padding-top: 10px; }
  .sitemap .title {
    font-size: larger; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .float-right-remove-mobile {
    float: none !important; } }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
  .tablet-landscape {
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; } }

@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
  .tablet-landscape .badge-medium {
    width: 160px;
    height: 160px; } }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .hide-for-tablet {
    display: none; } }

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

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

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

@media screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

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

@media screen and (max-width: 767px) {
  .hide-mobile {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .hide-desktop {
    display: none !important; } }

.list-inline-items {
  display: inline-block;
  margin: 0; }
  .list-inline-items > li {
    display: inline-block; }
    .list-inline-items > li:after {
      content: "|";
      display: inline-block;
      padding: 0 5px;
      color: #b5b5b5; }
    .list-inline-items > li svg {
      cursor: pointer; }
    .list-inline-items > li:last-child:after {
      content: ""; }

.list-unstyled, .category-description ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }

.list-check-box {
  list-style: none;
  margin-left: 0; }
  .list-check-box > li {
    margin: 0 0 4px; }
    .list-check-box > li::before, .list-check-box > li::after {
      content: ' ';
      display: table; }
    .list-check-box > li::after {
      clear: both; }
    .list-check-box > li label {
      display: inline-block;
      position: relative;
      z-index: 0;
      float: left;
      width: 80%;
      margin: 6px 0 0 6px; }
    .list-check-box > li .rounded {
      position: relative;
      display: inline-block;
      float: left;
      width: 28px;
      height: 28px;
      position: relative;
      border-radius: 50px; }
      .list-check-box > li .rounded .swatch {
        width: 20px;
        height: 20px;
        position: absolute;
        top: 4px;
        left: 4px;
        cursor: pointer;
        border-radius: 50px; }
        .list-check-box > li .rounded .swatch:after {
          content: '';
          width: 9px;
          height: 5px;
          position: absolute;
          top: 7px;
          left: 6px;
          border: 3px solid #fcfff4;
          border-top: none;
          border-right: none;
          background: transparent;
          opacity: 0;
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .list-check-box > li .rounded .swatch:hover::after {
          opacity: 0.3; }
      .list-check-box > li .rounded input[type=checkbox] {
        opacity: 0;
        cursor: pointer;
        position: relative;
        z-index: 3;
        top: 4px;
        left: 7px; }
        .list-check-box > li .rounded input[type=checkbox]:checked + .swatch:after {
          opacity: 1; }
        .list-check-box > li .rounded input[type=checkbox]:not(:checked) + .swatch {
          opacity: 0.6; }

.no-bullet ul, .page-menu ul {
  margin-left: 1.25rem; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    margin: 1rem 0; }

@media screen and (min-width: 40em) {
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%;
      margin: 1rem 0; } }

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel {
  position: relative;
  display: none;
  width: 100%;
  z-index: 1; }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left; }
    .owl-carousel .owl-item img {
      display: block;
      width: 100%; }
      .owl-carousel .owl-item img.owl-lazy {
        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d; }
    .owl-carousel .owl-item .owl-lazy {
      opacity: 0;
      transition: opacity .4s ease; }
      .owl-carousel .owl-item .owl-lazy:not([src]) {
        max-height: 0; }
    .owl-carousel .owl-item .owl-lazy[src^=""] {
      max-height: 0; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: manipulation;
        touch-action: manipulation; }
    .owl-carousel .owl-stage:after {
      content: ".";
      display: block;
      clear: both;
      visibility: hidden;
      line-height: 0;
      height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden; }
  .owl-carousel .owl-nav.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-next {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .owl-carousel .owl-nav .owl-prev {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
    .owl-carousel.owl-rtl .owl-item {
      float: right; }
  .owl-carousel .animated {
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both; }
  .owl-carousel .owl-animated-in {
    z-index: 0; }
  .owl-carousel .owl-animated-out {
    z-index: 1; }
  .owl-carousel .fadeOut {
    -webkit-animation-name: fadeOut;
            animation-name: fadeOut; }
  .owl-carousel .owl-video-wrapper {
    position: relative;
    height: 100%;
    background: #000; }
  .owl-carousel .owl-video-play-icon {
    position: absolute;
    height: 80px;
    width: 80px;
    left: 50%;
    top: 50%;
    margin-left: -40px;
    margin-top: -40px;
    background: url(owl.video.play.png) no-repeat;
    cursor: pointer;
    z-index: 1;
    transition: -webkit-transform .1s ease;
    transition: transform .1s ease; }
    .owl-carousel .owl-video-play-icon:hover {
      -webkit-transform: scale(1.3, 1.3);
              transform: scale(1.3, 1.3); }
  .owl-carousel .owl-video-playing .owl-video-play-icon {
    display: none; }
  .owl-carousel .owl-video-playing .owl-video-tn {
    display: none; }
  .owl-carousel .owl-video-tn {
    opacity: 0;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: opacity .4s ease; }
  .owl-carousel .owl-video-frame {
    position: relative;
    z-index: 1;
    height: 100%;
    width: 100%; }
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }

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

.owl-height {
  transition: height .5s ease-in-out; }

.no-js .owl-carousel {
  display: block; }

.property-name h1 {
  display: block; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .property-name h1 {
      position: static; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .property-name {
    margin-bottom: 20px; } }

.property-content .icon {
  height: 40px;
  position: relative;
  top: 15px; }

.property-content:after {
  border-bottom: 1px solid green;
  width: 8rem;
  position: relative;
  top: 0.8rem; }

.property-image {
  display: inline-block; }
  .property-image-header {
    margin-top: 10px;
    height: 40px; }
  .property-image-footer {
    float: left; }

.property-symbal {
  float: left; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .project {
    padding-bottom: 20px; } }

/**CHOSEN**/
/* @group Base */
.chosen-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .chosen-container * {
    box-sizing: border-box; }
  .chosen-container .chosen-drop {
    position: absolute;
    top: 100%;
    z-index: 1010;
    width: 100%;
    border: 1px solid #aaa;
    border-top: 0;
    background: #fff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
    clip: rect(0, 0, 0, 0);
    -webkit-clip-path: inset(100% 100%);
            clip-path: inset(100% 100%); }
  .chosen-container.chosen-with-drop .chosen-drop {
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none; }
  .chosen-container a {
    cursor: pointer; }
  .chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
    margin-right: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: normal;
    color: #999999; }
    .chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
      content: ":";
      padding-left: 2px;
      vertical-align: top; }

/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0 0 0 8px;
  height: 25px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #fff;
  background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
  background-clip: padding-box;
  box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  color: #444;
  text-decoration: none;
  white-space: nowrap;
  line-height: 24px; }

.chosen-container-single .chosen-default {
  color: #999; }

.chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  margin-right: 26px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.chosen-container-single .chosen-single-with-deselect span {
  margin-right: 38px; }

.chosen-container-single .chosen-single abbr {
  position: absolute;
  top: 6px;
  right: 26px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("chosen-sprite.png") -42px 1px no-repeat;
  font-size: 1px; }
  .chosen-container-single .chosen-single abbr:hover {
    background-position: -42px -10px; }

.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
  background-position: -42px -10px; }

.chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 100%; }
  .chosen-container-single .chosen-single div b {
    display: block;
    width: 100%;
    height: 100%;
    background: url("chosen-sprite.png") no-repeat 0px 2px; }

.chosen-container-single .chosen-search {
  display: none;
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 3px 4px;
  white-space: nowrap; }
  .chosen-container-single .chosen-search input[type="text"] {
    margin: 1px 0;
    padding: 4px 20px 4px 5px;
    width: 100%;
    height: auto;
    outline: 0;
    border: 1px solid #aaa;
    background: url("chosen-sprite.png") no-repeat 100% -20px;
    font-size: 1em;
    font-family: sans-serif;
    line-height: normal;
    border-radius: 0; }

.chosen-container-single .chosen-drop {
  margin-top: -1px;
  border-radius: 0 0 4px 4px;
  background-clip: padding-box; }

.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(100% 100%);
          clip-path: inset(100% 100%); }

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0 0 0 4px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch; }
  .chosen-container .chosen-results li {
    display: none;
    margin: 0;
    padding: 5px 6px;
    list-style: none;
    line-height: 15px;
    word-wrap: break-word;
    -webkit-touch-callout: none; }
    .chosen-container .chosen-results li.active-result {
      display: list-item;
      cursor: pointer; }
    .chosen-container .chosen-results li.disabled-result {
      display: list-item;
      color: #ccc;
      cursor: default; }
    .chosen-container .chosen-results li.highlighted {
      background-color: #3875d7;
      background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
      color: #fff; }
    .chosen-container .chosen-results li.no-results {
      color: #777;
      display: list-item;
      background: #f4f4f4; }
    .chosen-container .chosen-results li.group-result {
      display: list-item;
      font-weight: bold;
      cursor: default; }
    .chosen-container .chosen-results li.group-option {
      padding-left: 15px; }
    .chosen-container .chosen-results li em {
      font-style: normal;
      text-decoration: underline; }

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto;
  border: 1px solid #aaa;
  background-color: #fff;
  background-image: linear-gradient(#eee 1%, #fff 15%);
  cursor: text; }

.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none; }
  .chosen-container-multi .chosen-choices li.search-field {
    margin: 0;
    padding: 0;
    white-space: nowrap; }
    .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
      margin: 1px 0;
      padding: 0;
      height: 25px;
      outline: 0;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none;
      color: #999;
      font-size: 100%;
      font-family: sans-serif;
      line-height: normal;
      border-radius: 0;
      width: 25px; }
  .chosen-container-multi .chosen-choices li.search-choice {
    position: relative;
    margin: 3px 5px 3px 0;
    padding: 3px 20px 3px 5px;
    border: 1px solid #aaa;
    max-width: 100%;
    border-radius: 3px;
    background-color: #eeeeee;
    background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
    background-size: 100% 19px;
    background-repeat: repeat-x;
    background-clip: padding-box;
    box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
    color: #333;
    line-height: 13px;
    cursor: default; }
    .chosen-container-multi .chosen-choices li.search-choice span {
      word-wrap: break-word; }
    .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
      position: absolute;
      top: 4px;
      right: 3px;
      display: block;
      width: 12px;
      height: 12px;
      background: url("chosen-sprite.png") -42px 1px no-repeat;
      font-size: 1px; }
      .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
        background-position: -42px -10px; }
  .chosen-container-multi .chosen-choices li.search-choice-disabled {
    padding-right: 5px;
    border: 1px solid #ccc;
    background-color: #e4e4e4;
    background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
    color: #666; }
  .chosen-container-multi .chosen-choices li.search-choice-focus {
    background: #d4d4d4; }
    .chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
      background-position: -42px -10px; }

.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0; }

.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  color: #ccc;
  cursor: default; }

/* @end */
/* @group Active  */
.chosen-container-active .chosen-single {
  border: 1px solid #5897fb;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid #aaa;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-image: linear-gradient(#eee 20%, #fff 80%);
  box-shadow: 0 1px 0 #fff inset; }

.chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: transparent; }
  .chosen-container-active.chosen-with-drop .chosen-single div b {
    background-position: -18px 2px; }

.chosen-container-active .chosen-choices {
  border: 1px solid #5897fb;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }
  .chosen-container-active .chosen-choices li.search-field input[type="text"] {
    color: #222 !important; }

/* @end */
/* @group Disabled Support */
.chosen-disabled {
  opacity: 0.5 !important;
  cursor: default; }
  .chosen-disabled .chosen-single {
    cursor: default; }
  .chosen-disabled .chosen-choices .search-choice .search-choice-close {
    cursor: default; }

/* @end */
/* @group Right to Left */
.chosen-rtl {
  text-align: right; }
  .chosen-rtl .chosen-single {
    overflow: visible;
    padding: 0 8px 0 0; }
  .chosen-rtl .chosen-single span {
    margin-right: 0;
    margin-left: 26px;
    direction: rtl; }
  .chosen-rtl .chosen-single-with-deselect span {
    margin-left: 38px; }
  .chosen-rtl .chosen-single div {
    right: auto;
    left: 3px; }
  .chosen-rtl .chosen-single abbr {
    right: auto;
    left: 26px; }
  .chosen-rtl .chosen-choices li {
    float: right; }
    .chosen-rtl .chosen-choices li.search-field input[type="text"] {
      direction: rtl; }
    .chosen-rtl .chosen-choices li.search-choice {
      margin: 3px 5px 3px 0;
      padding: 3px 5px 3px 19px; }
      .chosen-rtl .chosen-choices li.search-choice .search-choice-close {
        right: auto;
        left: 4px; }
  .chosen-rtl.chosen-container-single .chosen-results {
    margin: 0 0 4px 4px;
    padding: 0 4px 0 0; }
  .chosen-rtl .chosen-results li.group-option {
    padding-right: 15px;
    padding-left: 0; }
  .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
    border-right: none; }
  .chosen-rtl .chosen-search input[type="text"] {
    padding: 4px 5px 4px 20px;
    background: url("chosen-sprite.png") no-repeat -30px -20px;
    direction: rtl; }
    .chosen-rtl .chosen-search input[type="text"]:focus {
      box-shadow: none; }
  .chosen-rtl.chosen-container-single .chosen-single div b {
    background-position: 6px 2px; }
  .chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
    background-position: -12px 2px; }

/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
  .chosen-rtl .chosen-search input[type="text"],
  .chosen-container-single .chosen-single abbr,
  .chosen-container-single .chosen-single div b,
  .chosen-container-single .chosen-search input[type="text"],
  .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
  .chosen-container .chosen-results-scroll-down span,
  .chosen-container .chosen-results-scroll-up span {
    background-image: url("chosen-sprite@2x.png") !important;
    background-size: 52px 37px !important;
    background-repeat: no-repeat !important; } }

/* @end */
/**UTILITY**/
@media screen and (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .visible-xs {
    display: none !important; } }

.search-meta {
  position: relative; }
  .search-meta button {
    position: absolute;
    right: 27px;
    top: 11px;
    font-weight: bold;
    font-size: 14px; }
  .search-meta input {
    margin: 0 0 5px;
    padding: 5px;
    border: solid 2px #aaa;
    height: auto; }
  .search-meta .icon-xsmall {
    width: 21px;
    height: 21px; }

/*FILTER CSS*/
.search-meta.column .type-header-xsmall, .search-meta.columns .type-header-xsmall {
  display: block;
  margin-left: 5px; }

.toggle-items {
  display: none;
  position: relative; }
  @media screen and (min-width: 768px) {
    .toggle-items {
      display: block !important; } }

.filter {
  font-size: 14px;
  margin: 2rem 1rem 0; }
  @media screen and (min-width: 639px) {
    .filter {
      margin: 2rem 2rem 0; } }
  .filter .button {
    font-family: Quicksand,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
    font-weight: 700;
    margin: 0 0 10px;
    width: 100%;
    border-radius: 4px;
    border: 2px solid;
    line-height: 1.5;
    transition: all .15s ease-out;
    cursor: pointer;
    -webkit-appearance: none;
    padding: 8px 20px;
    font-size: 14px;
    text-align: center;
    background: transparent;
    text-transform: uppercase;
    height: auto; }
    .filter .button.tertiary {
      border-color: #a6966a;
      color: #a6966a; }
      .filter .button.tertiary:hover, .filter .button.tertiary:focus {
        background: #a6966a;
        color: #fff; }
    .filter .button.filled {
      border-color: #a6966a;
      background: #a6966a;
      color: #fff; }
      .filter .button.filled:hover, .filter .button.filled:focus {
        background: transparent;
        color: #a6966a; }
    .filter .button.btn-clear {
      border: none;
      color: #a6966a; }
      .filter .button.btn-clear:hover, .filter .button.btn-clear:focus {
        text-decoration: underline; }
      @media screen and (max-width: 767px) {
        .filter .button.btn-clear {
          position: absolute;
          border: none;
          padding: 0;
          margin: 0;
          right: 0;
          top: 55px;
          font-size: 16px;
          width: auto; } }
    @media screen and (min-width: 768px) {
      .filter .button {
        display: inline-block;
        width: auto;
        min-width: 120px;
        white-space: nowrap; } }
  .filter h3 {
    text-transform: uppercase;
    font-weight: 200;
    margin: 0 0 10px; }
  .filter h4 {
    color: #ccc;
    margin: 0 0 10px;
    text-transform: uppercase;
    font-weight: bold; }
  @media screen and (min-width: 768px) {
    .filter form {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row nowrap;
          -ms-flex-flow: row nowrap;
              flex-flow: row nowrap; } }
  @media screen and (min-width: 768px) {
    .filter form .content-type {
      width: 50%;
      padding: 0 20px 0 0; } }
  @media screen and (min-width: 768px) {
    .filter form .content-type .checks {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; } }
  .filter form .content-type .checks > div {
    position: relative;
    margin: 0 0 10px; }
    @media screen and (min-width: 768px) {
      .filter form .content-type .checks > div {
        min-width: 130px;
        display: inline-block;
        padding-right: 10px; } }
  .filter form input[type="checkbox"] {
    display: none; }
    .filter form input[type="checkbox"] + label {
      position: relative;
      padding: 0 0 10px 23px;
      line-height: 1.5;
      text-transform: uppercase;
      font-weight: 700;
      cursor: pointer;
      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;
      margin: 0; }
      .filter form input[type="checkbox"] + label:hover:before, .filter form input[type="checkbox"] + label:focus:before {
        border-color: #ddd; }
      .filter form input[type="checkbox"] + label:before {
        display: block;
        position: absolute;
        left: 0;
        top: 2px;
        width: 16px;
        height: 16px;
        background: #fff;
        border: solid 2px #aaa;
        border-radius: 3px;
        line-height: 12px;
        color: #000;
        font-weight: 900;
        text-align: center;
        content: ""; }
    .filter form input[type="checkbox"]:checked + label:before {
      content: "\2713"; }
  .filter form select {
    width: 100%;
    border: solid 2px #aaa;
    border-radius: 3px;
    font-size: 16px;
    font-family: Quicksand,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    padding: 7px 0 7px 5px; }
    @media screen and (min-width: 768px) {
      .filter form select {
        font-size: 14px;
        width: 100%;
        padding: 9px 0 9px 5px;
        height: 40px;
        margin-right: 20px;
        margin-bottom: 10px; } }
  .filter form .chosen-container {
    font-size: 15px;
    margin-right: 20px;
    margin-bottom: 10px;
    height: 40px;
    width: 100% !important; }
    .filter form .chosen-container .chosen-drop {
      background: #fff;
      box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); }
    .filter form .chosen-container .chosen-results {
      margin: 0 4px 4px 0;
      padding: 0 0 0 4px; }
      .filter form .chosen-container .chosen-results li {
        padding: 5px 6px;
        line-height: 15px; }
  .filter form .chosen-container-single .chosen-single {
    height: 40px;
    white-space: nowrap;
    width: 100%;
    font-size: 16px;
    font-family: Quicksand,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    padding: 7px 0 7px 10px;
    background: none; }
    .filter form .chosen-container-single .chosen-single span {
      display: inline-block;
      line-height: 1em;
      padding-top: 4px; }
    .filter form .chosen-container-single .chosen-single div {
      position: absolute;
      top: 7px;
      right: 5px;
      display: inline-block;
      width: auto;
      height: auto;
      padding: 0; }
      .filter form .chosen-container-single .chosen-single div b {
        display: inline-block;
        width: auto;
        height: auto; }
        .filter form .chosen-container-single .chosen-single div b:before {
          font-family: "Font Awesome 5 Free";
          content: "\f107"; }
  .filter form .chosen-container .chosen-results li:hover, .filter form .chosen-container .chosen-results li:focus, .filter form .chosen-container .chosen-results li.result-selected {
    background: #666;
    color: #fff; }
  .filter form .chosen-container-active .chosen-single {
    box-shadow: none;
    clip: rect(0, 0, 0, 0); }
  .filter form .chosen-container-active.chosen-with-drop .chosen-single div b:before {
    content: "\f106"; }
  .filter .date {
    padding-top: 10px; }
    @media screen and (min-width: 768px) {
      .filter .date {
        padding: 0;
        width: 50%; } }
    @media screen and (min-width: 768px) {
      .filter .date > div {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row wrap;
            -ms-flex-flow: row wrap;
                flex-flow: row wrap;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (min-width: 992px) {
      .filter .date > div {
        -webkit-flex-flow: row nowrap;
            -ms-flex-flow: row nowrap;
                flex-flow: row nowrap; } }

.section-title:after, .section-title-centered:after, .section-title-left:after {
  content: '';
  display: block;
  position: relative;
  margin-top: 20px;
  width: 205px;
  border-top: 1px solid #000; }

.section-title-centered {
  text-align: center; }
  .section-title-centered:after {
    margin: 20px auto; }

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

.section-title-small:after {
  content: '';
  display: block;
  position: relative;
  width: 3rem;
  border-bottom: 3px solid #000; }

/**COPY BELOW**/
.staticmap {
  margin: 20px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column-reverse;
      -ms-flex-flow: column-reverse;
          flex-flow: column-reverse;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: auto; }
  @media screen and (min-width: 768px) {
    .staticmap {
      -webkit-flex-flow: column;
          -ms-flex-flow: column;
              flex-flow: column; } }
  .staticmap .key {
    max-width: 655px;
    border: solid 2px #d3d3d3;
    display: inline-block;
    padding: 10px 10px 5px;
    font-size: 12px;
    margin: 20px 0 0;
    font-family: "EB Garamond", "Times New Roman", Times, serif; }
    @media screen and (min-width: 768px) {
      .staticmap .key {
        margin: 0 0 30px;
        padding: 10px 17px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        font-size: 16px;
        line-height: 1em;
        -webkit-align-content: center;
            -ms-flex-line-pack: center;
                align-content: center; } }
    .staticmap .key h3 {
      text-transform: uppercase;
      font-size: 18px;
      margin: 0 0 7px; }
      @media screen and (min-width: 768px) {
        .staticmap .key h3 {
          font-size: 26px;
          margin: 0 10px 0 0; } }
    .staticmap .key p {
      margin: 0 0 5px 4px;
      line-height: 2em; }
      @media screen and (min-width: 768px) {
        .staticmap .key p {
          margin: 0 15px; } }
      .staticmap .key p .dot {
        display: inline-block;
        background: #1d788f;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        position: relative;
        margin-right: 10px; }
        @media screen and (min-width: 768px) {
          .staticmap .key p .dot {
            width: 12px;
            height: 12px;
            margin-right: 5px; } }
        .staticmap .key p .dot:before {
          content: '';
          width: 18px;
          height: 18px;
          border-radius: 50%;
          left: -4px;
          top: -4px;
          background: #fff;
          border: none;
          position: absolute;
          z-index: -1; }
          @media screen and (min-width: 768px) {
            .staticmap .key p .dot:before {
              width: 25px;
              height: 25px;
              left: -5px;
              top: -5px; } }
        .staticmap .key p .dot.line {
          margin-top: -2px;
          width: 10px;
          height: 10px;
          margin-right: 10px; }
          @media screen and (min-width: 768px) {
            .staticmap .key p .dot.line {
              margin-right: 10px;
              margin-top: -2px;
              width: 15px;
              height: 15px; } }
          .staticmap .key p .dot.line:before {
            border: solid 1px #1d788f; }
  .staticmap .staticmap-image {
    text-align: center; }
    .staticmap .staticmap-image img {
      display: inline-block;
      width: 100%; }

.dialogs .dialog-backdrop {
  display: none;
  position: fixed;
  z-index: 5000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(27, 27, 27, 0);
  overflow-y: auto; }

.dialogs .dialog-backdrop.active {
  display: block;
  background: rgba(27, 27, 27, 0.95); }

.dialogs [role="dialog"] {
  display: block;
  position: absolute;
  z-index: 5000;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100vw;
  max-width: 1000px;
  height: 100vh;
  padding: 4.5rem 2.5rem 2.5rem;
  border: none;
  background: transparent; }
  @media screen and (min-width: 1025px) {
    .dialogs [role="dialog"] {
      padding: 2.5rem; } }

@media screen and (min-width: 768px) {
  .dialogs [role="dialog"] {
    height: auto; } }

.dialogs [role="dialog"].hidden {
  display: none; }

.dialogs [role="dialog"] button.close {
  position: absolute;
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  z-index: 5000;
  right: 15px;
  top: 4rem;
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  width: 25px;
  height: 25px;
  border: none;
  background: transparent;
  color: #fff;
  font-weight: 100;
  padding: 0; }
  @media screen and (min-width: 768px) {
    .dialogs [role="dialog"] button.close {
      right: 75px; } }
  @media screen and (min-width: 1025px) {
    .dialogs [role="dialog"] button.close {
      top: 2rem; } }
  .dialogs [role="dialog"] button.close svg {
    width: 25px;
    height: 25px; }
    .dialogs [role="dialog"] button.close svg path {
      fill: #fff; }

.dialogs [role="dialog"] button.close:hover, .dialogs [role="dialog"] button.close:focus {
  opacity: .5;
  cursor: pointer; }

@media (min-width: 768px) {
  .dialogs > div > div {
    position: relative;
    width: 100%;
    overflow: hidden; } }

.dialogs > div > div .single-item {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  position: relative; }
  .dialogs > div > div .single-item img {
    display: block;
    width: 100%;
    padding: 40px 0 20px; }
  .dialogs > div > div .single-item figcaption {
    text-transform: uppercase;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-align: left; }

.single-image figure {
  max-width: 740px;
  padding: 0;
  position: relative;
  margin: 0; }
  .single-image figure:hover, .single-image figure:focus {
    cursor: pointer; }
  .single-image figure img {
    max-width: 100%; }
  .single-image figure figcaption {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    padding: 10px 0;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    text-align: left; }

.tabs {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .tabs-title {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    text-align: center;
    display: inline-block;
    position: relative;
    padding: 0 1.5rem;
    float: none; }
    @media screen and (min-width: 40em) {
      .tabs-title {
        float: left; } }
    .tabs-title:after {
      content: "|";
      position: absolute;
      top: 50%;
      right: 0;
      display: block;
      color: #b5b5b5;
      margin-top: -0.5rem; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .tabs-title {
        width: 100%; }
        .tabs-title:after {
          content: ""; } }
    .tabs-title:last-child:after {
      content: ""; }
    .tabs-title > a {
      display: inline;
      border-bottom: 3px solid transparent;
      font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 8.75px;
      font-size: 0.875rem;
      line-height: 1rem;
      text-transform: uppercase;
      vertical-align: middle; }
      .tabs-title > a.active, .tabs-title > a:active, .tabs-title > a:hover {
        font-weight: 700;
        border-bottom: 3px solid #a6966a; }
      .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
        background: #fff;
        font-weight: 700;
        border-bottom: 3px solid #a6966a; }
  .tabs.vertical ul {
    margin-left: 1.5rem; }
    .tabs.vertical ul li {
      padding: 0;
      margin-bottom: 10px; }
      .tabs.vertical ul li a {
        padding: 0; }
        .tabs.vertical ul li a.active, .tabs.vertical ul li a:active, .tabs.vertical ul li a:hover {
          font-weight: 700;
          border-bottom: transparent;
          background: transparent; }
        .tabs.vertical ul li a:focus, .tabs.vertical ul li a[aria-selected='true'] {
          background: transparent;
          font-weight: 700;
          border-bottom: none; }
    .tabs.vertical ul.faq-questions li {
      text-indent: -1.4em; }
      .tabs.vertical ul.faq-questions li:before {
        content: "Q";
        margin-right: 10px; }
      .tabs.vertical ul.faq-questions li.is-active:before {
        font-weight: bold; }
      .tabs.vertical ul.faq-questions li:hover:before {
        font-weight: bold; }
  .tabs.vertical .tabs-title {
    display: block;
    float: none;
    text-align: left; }
    .tabs.vertical .tabs-title:after {
      content: ""; }
  .tabs-content {
    border: 0; }
    .tabs-content .lt-section-padding-medium-all {
      padding: 0; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .tabs-panel {
      padding: 1rem 0; } }

.faq-answers {
  background-color: #000;
  color: #b5b5b5; }
  @media screen and (min-width: 40em) {
    .faq-answers {
      background-color: #fff;
      color: #000000; }
      .faq-answers .close-button {
        display: none; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .faq-answers {
      -webkit-flex: 0 0 75%;
          -ms-flex: 0 0 75%;
              flex: 0 0 75%;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      max-width: 75%;
      position: absolute;
      top: 100px;
      right: 0; } }

.events-tabs {
  margin-left: 0;
  text-align: center; }
  @media screen and (min-width: 40em) {
    .events-tabs {
      text-align: left; } }
  .events-tabs:after {
    content: "";
    display: block;
    clear: both; }
  .events-tabs .tabs-title a {
    font-size: 10px;
    font-size: 1rem;
    display: block; }
    @media (min-width: 640px) and (max-width: 975px) {
      .events-tabs .tabs-title a {
        font-size: 6.25px;
        font-size: 0.625rem; } }

.table {
  width: 100%;
  color: #000;
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }
  .table tbody {
    border: 0; }
  .table tr td {
    background-color: transparent;
    border-bottom: 1px solid #000; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .table-small tr td {
      padding-left: 0.4375rem;
      padding-right: 0.4375rem;
      font-size: 5px;
      font-size: 0.5rem; }
      .table-small tr td:first-child {
        padding-left: 0.7375rem;
        padding-right: 0.5375rem; }
      .table-small tr td:last-child {
        padding-left: 0.5375rem;
        padding-right: 0.7375rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .table {
      width: auto;
      table-layout: fixed; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .small-table {
    width: 313px;
    overflow-x: scroll; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .small-overflow-x {
    overflow-x: scroll; } }

.gnw_table_border_collapse td {
  padding: 0.25rem 0; }

.gnw_vertical_align_top {
  vertical-align: top; }

.gnw_vertical_align_bottom {
  vertical-align: bottom; }

.gnw_vertical_align_middle {
  vertical-align: middle; }

.gnw_align_left {
  text-align: left; }

.gnw_align_right {
  text-align: right; }

.gnw_align_center {
  text-align: center; }

.gnw_align_justify {
  text-align: justify; }

.gnw_padding_left_none {
  padding-left: 0px; }

.gnw_padding_right_none {
  padding-right: 0px; }

.gnw_border_top_solid {
  border-top: 1px solid; }

.gnw_border_top_double {
  border-top: 3px double; }

.gnw_border_bottom_solid {
  border-bottom: 1px solid; }

.gnw_border_bottom_double {
  border-bottom: 3px double; }

.gnw_border_left_solid {
  border-left: 1px solid; }

.gnw_border_left_double {
  border-left: 3px double; }

.gnw_border_right_solid {
  border-right: 1px solid; }

.gnw_border_right_double {
  border-right: 3px double; }

.gnw_heading, .gnw_colhead_uline, .gnw_colhead_dline, .gnw_subhead, .gnw_colhead {
  text-align: center; }

.gnw_colhead_uline {
  border-bottom: 1px solid; }

.gnw_colhead_dline {
  border-bottom: 3px double; }

.gnw_label, .gnw_label_uline, .gnw_label_uline_i10, .gnw_label_uline_i15, .gnw_label_uline_i20, .gnw_label_uline_i25, .gnw_label_uline_i30, .gnw_label_ulinetop, .gnw_label_dline, .gnw_label_dline_i10, .gnw_label_dline_i15, .gnw_label_dline_i20, .gnw_label_dline_i25, .gnw_label_dline_i30, .gnw_label_i10, .gnw_label_i15, .gnw_label_i20, .gnw_label_i25, .gnw_label_i30 {
  vertical-align: bottom;
  text-align: left; }
  .gnw_label_uline, .gnw_label_uline_i10, .gnw_label_uline_i15, .gnw_label_uline_i20, .gnw_label_uline_i25, .gnw_label_uline_i30, .gnw_label_ulinetop {
    border-bottom: 1px solid; }
    .gnw_label_uline_i10 {
      padding-left: 10px; }
    .gnw_label_uline_i15 {
      padding-left: 15px; }
    .gnw_label_uline_i20 {
      padding-left: 20px; }
    .gnw_label_uline_i25 {
      padding-left: 25px; }
    .gnw_label_uline_i30 {
      padding-left: 30px; }
    .gnw_label_ulinetop {
      border-top: 1px solid;
      border-bottom: none; }
  .gnw_label_dline, .gnw_label_dline_i10, .gnw_label_dline_i15, .gnw_label_dline_i20, .gnw_label_dline_i25, .gnw_label_dline_i30 {
    border-bottom: 3px double; }
    .gnw_label_dline_i10 {
      padding-left: 10px; }
    .gnw_label_dline_i15 {
      padding-left: 15px; }
    .gnw_label_dline_i20 {
      padding-left: 20px; }
    .gnw_label_dline_i25 {
      padding-left: 25px; }
    .gnw_label_dline_i30 {
      padding-left: 30px; }
  .gnw_label_i10 {
    padding-left: 10px; }
  .gnw_label_i15 {
    padding-left: 15px; }
  .gnw_label_i20 {
    padding-left: 20px; }
  .gnw_label_i25 {
    padding-left: 25px; }
  .gnw_label_i30 {
    padding-left: 30px; }

.gnw_num {
  vertical-align: bottom;
  text-align: right;
  white-space: nowrap; }
  .gnw_num_uline {
    vertical-align: bottom;
    text-align: right;
    white-space: nowrap;
    border-bottom: 1px solid; }
    .gnw_num_ulinetop {
      vertical-align: bottom;
      text-align: right;
      white-space: nowrap;
      border-top: 1px solid; }
  .gnw_num_dline {
    vertical-align: bottom;
    text-align: right;
    white-space: nowrap;
    border-bottom: 3px double; }
    .gnw_num_dlinetop {
      vertical-align: bottom;
      text-align: right;
      white-space: nowrap;
      border-top: 3px double; }

.gnw_data {
  vertical-align: bottom;
  text-align: right;
  white-space: nowrap; }
  .gnw_data_uline {
    vertical-align: bottom;
    text-align: right;
    white-space: nowrap;
    border-bottom: 1px solid; }
    .gnw_data_ulinetop {
      vertical-align: bottom;
      text-align: right;
      white-space: nowrap;
      border-top: 1px solid; }
  .gnw_data_dline {
    vertical-align: bottom;
    text-align: right;
    white-space: nowrap;
    border-bottom: 3px double; }
    .gnw_data_dlinetop {
      vertical-align: bottom;
      text-align: right;
      white-space: nowrap;
      border-top: 3px double; }

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: uppercase; }

body {
  font-size: 1rem; }

p a {
  text-decoration: underline; }

p:last-child {
  margin-bottom: 0px; }

.type-header-xxlarge {
  font-size: 30px;
  font-size: 3rem; }
  @media screen and (min-width: 40em) {
    .type-header-xxlarge {
      font-size: 40.625px;
      font-size: 4.0625rem; } }

.type-header-xlarge {
  font-size: 30px;
  font-size: 3rem; }
  @media screen and (min-width: 40em) {
    .type-header-xlarge {
      font-size: 40.625px;
      font-size: 4.0625rem; } }

.type-header-large {
  font-size: 22.5px;
  font-size: 2.25rem; }
  @media screen and (min-width: 40em) {
    .type-header-large {
      font-size: 22.5px;
      font-size: 2.25rem; } }

.type-header-medium {
  font-size: 16.25px;
  font-size: 1.625rem; }
  @media screen and (min-width: 40em) {
    .type-header-medium {
      font-size: 16.25px;
      font-size: 1.625rem; } }

.type-header-small {
  font-size: 10px;
  font-size: 1rem; }
  @media screen and (min-width: 40em) {
    .type-header-small {
      font-size: 11.25px;
      font-size: 1.125rem; } }

.type-header-xsmall {
  font-size: 7.5px;
  font-size: 0.75rem; }
  @media screen and (min-width: 40em) {
    .type-header-xsmall {
      font-size: 8.75px;
      font-size: 0.875rem; } }

.type-header-xxsmall {
  font-size: 6.25px;
  font-size: 0.625rem; }
  @media screen and (min-width: 40em) {
    .type-header-xxsmall {
      font-size: 7.5px;
      font-size: 0.75rem; } }

.type-header-accent {
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-align: center;
  margin-bottom: 1rem; }
  .type-header-accent:before, .type-header-accent:after {
    position: absolute;
    top: 51%;
    overflow: hidden;
    width: 50%;
    height: 1px;
    content: '\a0';
    background-color: #b5b5b5; }
  .type-header-accent:before {
    margin-left: calc(-50% - 1rem);
    text-align: right; }
  .type-header-accent:after {
    margin-left: 1rem; }

.type-header-section:after {
  content: '';
  display: block;
  position: relative;
  margin-top: 20px;
  width: 205px;
  border-top: 1px solid #000; }

.type-header-section.is-centered {
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 0rem; }
  .type-header-section.is-centered:after {
    margin: 20px auto; }

.type-header-section.is-left {
  text-align: left; }

.type-header-section.is-small {
  margin-bottom: 1rem; }
  .type-header-section.is-small:after {
    margin-top: 1em;
    width: 90px; }

.type-header-section.is-gray:after {
  border-top: 1px solid #707070;
  margin-top: 0.75em; }

.type-header-break-word {
  word-break: break-word; }
  @media screen and (min-width: 40em) {
    .type-header-break-word {
      word-break: normal; } }

.type-arrow {
  position: relative;
  padding-right: 1rem; }
  .type-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 4px;
    border-color: transparent transparent transparent #a6966a;
    border-left-style: solid;
    border-right-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: 0; }

.type-xxlarge {
  font-size: 68.75px;
  font-size: 6.875rem; }
  @media screen and (min-width: 40em) {
    .type-xxlarge {
      font-size: 109.375px;
      font-size: 10.9375rem; } }

.type-xlarge {
  font-size: 16.25px;
  font-size: 1.625rem; }

.type-large {
  font-size: 11.25px;
  font-size: 1.125rem; }

.type-medium {
  font-size: 1rem; }

.type-small {
  font-size: 7.5px;
  font-size: 0.75rem; }
  @media screen and (min-width: 40em) {
    .type-small {
      font-size: 8.75px;
      font-size: 0.875rem; } }

.type-xsmall {
  font-size: 6.25px;
  font-size: 0.625rem; }

.type-xxsmall {
  font-size: 5px;
  font-size: 0.5rem; }

.type-bold {
  font-weight: 700; }

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

.type-align-center, .category-description {
  text-align: center; }

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

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .type-align-left-small {
    text-align: left !important; } }

.type-date {
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 8.75px;
  font-size: 0.875rem;
  font-weight: bold;
  color: #707070; }

.type-legal {
  font-size: 6.25px;
  font-size: 0.625rem;
  color: #707070; }

.type-primary {
  font-family: "EB Garamond", "Times New Roman", Times, serif; }

.type-secondary, .breadcrumbs li .bc-type-secondary, .news-blurb .headline {
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.type-light {
  font-weight: 300; }

.type-medium-color {
  color: #707070; }

.type-dark-color {
  color: #292929; }

.type-color-primary {
  color: #000000; }

.type-color-secondary {
  color: #f2f2f2; }

.type-color-tertiary {
  color: #a6966a; }

.type-color-white {
  color: white; }

.type-uppercase {
  text-transform: uppercase; }

.type-page-heading {
  margin-bottom: 2.5rem; }
  .type-page-heading:after {
    content: '';
    position: relative;
    display: block;
    border-bottom: 4px solid #000;
    width: 50px; }

.type-position-relative {
  position: relative; }

.type-accent:after {
  content: '';
  position: relative;
  display: block;
  border-bottom: 4px solid #000;
  width: 20px;
  margin-top: 0.5em; }

.type-under-dash:after {
  content: '';
  position: relative;
  display: block;
  width: 20px;
  border: 2px solid #000;
  left: 50%;
  margin: 0.875rem auto 1rem -10px; }

.type-link {
  color: #a6966a; }
  .type-link:hover {
    color: black; }

.back-to-top {
  display: none;
  color: #fff;
  background-color: #000;
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  width: 3rem;
  height: 3rem;
  padding: 0.75rem;
  border-radius: 100%;
  text-align: center;
  cursor: pointer;
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 1;
  box-shadow: 0px 1px 3px #fff; }
  .back-to-top span {
    font-size: 7.5px;
    font-size: 0.75rem; }

.badge {
  border-radius: 100%;
  background: #fff;
  position: relative;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .badge.no-accent:after {
    display: none; }
  .badge-medium {
    height: 214px;
    width: 214px; }
  .badge-large {
    width: 246px;
    height: 246px; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .badge-large-responsive {
        height: 205px;
        width: 205px; }
        .badge-large-responsive .stat-figure.is-large {
          font-size: 2rem; } }
  @media only screen and (min-width: 40em) and (max-width: 63.9375em) and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
    .badge-large-responsive {
      width: 160px;
      height: 160px; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .badge-large-responsive .stat {
          margin: 0 auto;
          width: 80%; } }
  .badge-border {
    border: 1px solid #b5b5b5; }
  .badge.is-left {
    margin-left: 0; }

@media only screen and (orientation: portrait) {
  .orbit-container {
    height: 362px; } }

@media only screen and (orientation: landscape) {
  .orbit-container {
    height: 550px !important; } }

@media only screen and (max-device-width: 667px) {
  .orbit-container {
    height: 362px; } }

.banner {
  position: relative; }
  .banner-background-image {
    height: 100%;
    width: 100%;
    overflow: hidden; }
    @media only screen and (max-device-width: 768px) and (orientation: portrait) {
      .banner-background-image {
        height: 362px; } }
    @media only screen and (max-device-width: 1024px) and (orientation: landscape) {
      .banner-background-image {
        height: 550px; } }
    @media only screen and (max-device-width: 667px) {
      .banner-background-image {
        height: 362px; } }
    .banner-background-image img {
      position: relative;
      display: block;
      height: 100%;
      width: auto;
      max-width: none;
      margin: 0 auto; }
      @media screen and (min-width: 64em) {
        .banner-background-image img {
          height: auto; } }
      @media screen and (min-width: 90.625em) {
        .banner-background-image img {
          width: 100%; } }
    .banner-background-image.focuspoint {
      height: 100%;
      width: 100%; }
  .banner-content {
    max-width: 79.375rem;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    position: absolute;
    width: 100%;
    max-width: 100%;
    height: 100%;
    top: 0;
    left: 0; }
    .banner-content .content-container {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      -webkit-align-self: center;
          -ms-flex-item-align: center;
              align-self: center;
      text-align: center;
      color: white;
      padding-top: 34px; }
      @media screen and (min-width: 40em) {
        .banner-content .content-container {
          padding-top: 51px;
          padding-left: 3rem;
          padding-right: 3rem; } }
      @media screen and (min-width: 40em) {
        .banner-content .content-container .banner-title {
          font-size: 45px; } }
  .banner-small {
    display: block; }
    .banner-small .banner-background-image {
      height: 254px;
      width: 100%;
      overflow: hidden; }
      @media screen and (min-width: 40em) {
        .banner-small .banner-background-image {
          height: 203px; } }
      .banner-small .banner-background-image img {
        position: relative;
        display: block;
        height: 100%;
        width: auto;
        max-width: none;
        margin: 0 auto; }
        @media screen and (min-width: 40em) {
          .banner-small .banner-background-image img {
            height: auto;
            width: 100%; } }
    .banner-small .content-container {
      padding-top: 0; }
  .banner-image-caption {
    margin: 30px 0 0; }

.breadcrumbs {
  margin: 0;
  padding: 0 30px;
  background-color: #f2f2f2;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }
  @media screen and (max-width: 64em) {
    .breadcrumbs {
      display: none; } }
  .breadcrumbs li:not(:last-child)::after {
    content: ">";
    margin: 0 0.25rem;
    top: 0px;
    color: black; }
  .breadcrumbs li {
    line-height: 2.8125rem; }
    .breadcrumbs li a {
      text-decoration: none;
      color: black;
      font-family: "Lato";
      font-size: 7.5px;
      font-size: 0.75rem; }
    .breadcrumbs li .bc-type-secondary {
      color: gray;
      font-family: "Lato"; }
  .breadcrumbs li:last-child a {
    color: #707070;
    cursor: pointer;
    text-decoration: none; }
    .breadcrumbs li:last-child a span {
      text-decoration: none; }

#calendar .clndr {
  background-color: #000;
  padding: 20px 10px;
  color: #fff;
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  position: relative; }
  #calendar .clndr .clndr-controls {
    padding: 0 0 20px 10px; }
    #calendar .clndr .clndr-controls .date {
      text-transform: uppercase; }
      #calendar .clndr .clndr-controls .date span {
        color: #8b8b8b; }
  #calendar .clndr:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 11px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    top: 3px;
    right: -11px; }
  #calendar .clndr .clndr-grid .days-of-the-week .header-days {
    overflow: hidden; }
    #calendar .clndr .clndr-grid .days-of-the-week .header-days .header-day {
      display: block;
      width: 14.28%;
      float: left;
      text-align: center;
      text-transform: uppercase;
      font-weight: bold; }
  #calendar .clndr .clndr-grid .days-of-the-week .days {
    overflow: hidden; }
    #calendar .clndr .clndr-grid .days-of-the-week .days:before {
      clear: both;
      content: "";
      display: block;
      visibility: hidden; }
    #calendar .clndr .clndr-grid .days-of-the-week .days .day {
      display: block;
      width: 14.28%;
      float: left;
      text-align: center;
      padding: 15px 7.5px; }
      #calendar .clndr .clndr-grid .days-of-the-week .days .day span {
        display: inline-block;
        width: 30px;
        height: 30px;
        line-height: 30px; }
      #calendar .clndr .clndr-grid .days-of-the-week .days .day.today span {
        background-color: #a69572; }
      #calendar .clndr .clndr-grid .days-of-the-week .days .day.event span {
        border: 1px solid #a69572; }

.orbit {
  width: 100%;
  height: 362px; }
  @media screen and (min-width: 40em) {
    .orbit {
      height: 550px; } }
  @media screen and (max-width: 63.9375em) {
    .orbit {
      height: 362px; } }
  .orbit-next {
    right: 8px; }
  .orbit-next, .orbit-previous {
    padding: 0;
    width: 35px;
    line-height: 2rem;
    border: 1px solid white;
    border-radius: 13px; }
    @media screen and (min-width: 40em) {
      .orbit-next, .orbit-previous {
        width: 56px; } }
    .orbit-next:hover:before, .orbit-next:hover:after, .orbit-previous:hover:before, .orbit-previous:hover:after {
      color: #f2f2f2; }
  .orbit-previous {
    margin-left: 10px; }
  @media screen and (min-width: 40em) {
    .orbit.interior nav.orbit-bullets {
      bottom: 90px; } }
  .orbit nav.orbit-bullets {
    position: absolute;
    width: 100%;
    bottom: 5px; }
    .orbit nav.orbit-bullets button {
      width: 0.75rem;
      height: 0.75rem;
      background-color: rgba(0, 0, 0, 0);
      border: 1px solid white; }
      .orbit nav.orbit-bullets button.is-active {
        background-color: white; }
  .orbit.single .orbit-bullets, .orbit.single .orbit-next, .orbit.single .orbit-previous {
    display: none; }
  .orbit .button.secondary {
    background-color: rgba(0, 0, 0, 0.25); }

.category-description {
  padding: 0 2.5rem;
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .category-description {
      padding: 0 0.9375rem; } }
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .category-description {
      padding: 0 0.9375rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .category-description {
      padding: 0; } }
  .category-description .badge {
    margin-bottom: 1.5rem; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .category-description ul {
      margin: 0 1rem; } }
  .category-description ul li {
    display: block;
    text-align: center;
    margin: 25px 0; }
    .category-description ul li::after {
      content: '';
      position: relative;
      display: block;
      width: 20px;
      border: 2px solid #000;
      margin: 28px auto 0;
      background-color: #000; }
    .category-description ul li:last-child:after {
      display: none; }

.date-title table tr td {
  border: 0;
  padding-left: 0 !important; }

.filter-container {
  position: relative; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .filter-container {
      padding-left: .5rem;
      padding-right: .5rem; } }
  @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
    .filter-container {
      padding: 1rem 0; } }

.filter-bar {
  overflow: auto; }

.filter-select {
  float: left;
  position: relative;
  border: 0.125rem solid #707070;
  border-radius: 0.375rem;
  padding: 0.625rem;
  min-width: 8rem;
  cursor: default; }
  .filter-select :after {
    content: '';
    position: absolute;
    top: 1rem;
    right: 0.5rem;
    width: 1rem;
    height: 1rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,0 4.5,4.5' style='stroke-width: 1px; stroke:black;' /%3E%3Cpolyline points='4.5,4.5 9,0' style='stroke-width: 1px; stroke:black;' /%3E%3C/svg%3E");
    background-repeat: no-repeat; }
  .filter-select:hover {
    cursor: pointer; }

.thumbnail-grid .thumbnail, .list-grid .thumbnail {
  cursor: default; }

.thumbnail-grid a, .list-grid a {
  cursor: default; }
  .thumbnail-grid a.has-cursor, .list-grid a.has-cursor {
    cursor: pointer; }
    .thumbnail-grid a.has-cursor .thumbnail, .list-grid a.has-cursor .thumbnail {
      cursor: pointer; }

.thumbnail-grid {
  margin-top: 30px; }
  .thumbnail-grid .thumbnail {
    margin-bottom: 1rem; }

.list-grid {
  margin-top: 30px; }
  .list-grid .list-item {
    position: relative;
    cursor: default;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0);
    background: white;
    height: 236px;
    margin: 0 0.9375rem 11px;
    overflow: hidden;
    transition: box-shadow 200ms ease-out;
    box-shadow: 0 2px 2px 0.5px rgba(0, 0, 0, 0.1); }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
      .list-grid .list-item {
        height: auto; } }
    .list-grid .list-item.has-cursor:hover {
      cursor: pointer; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .list-grid .list-item {
        margin: 0 0 11px;
        height: 145px; } }
    .list-grid .list-item .featured {
      position: absolute;
      right: 0;
      top: 0;
      padding: 0.25rem;
      background-color: rgba(0, 0, 0, 0.5);
      color: white; }
      @media screen and (min-width: 40em) {
        .list-grid .list-item .featured {
          display: block; } }
      .list-grid .list-item .featured h4 {
        margin-bottom: 0; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .list-grid .list-item .property-title {
        padding-left: .5rem;
        padding-right: .5rem; }
        .list-grid .list-item .property-title h4 {
          font-size: 6.25px;
          font-size: 0.625rem;
          word-wrap: break-word; }
        .list-grid .list-item .property-title p {
          font-size: 6.25px;
          font-size: 0.625rem; } }
  .list-grid .list-thumbnail {
    position: relative; }
    @media screen and (min-width: 40em) {
      .list-grid .list-thumbnail {
        -webkit-flex: 0 0 20.83333%;
            -ms-flex: 0 0 20.83333%;
                flex: 0 0 20.83333%;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        max-width: 20.83333%; } }
    .list-grid .list-thumbnail.columns {
      padding-right: 0;
      padding-left: 0; }
    .list-grid .list-thumbnail.float-right .thumbnail {
      width: 100%; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .list-grid .list-thumbnail {
        max-width: 151px; } }
  .list-grid .list-stat {
    -webkit-flex: 0 0 14.58333%;
        -ms-flex: 0 0 14.58333%;
            flex: 0 0 14.58333%;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    max-width: 14.58333%;
    margin-top: -0.7rem; }

.filter-select h4 {
  margin: 0; }

.filter-type {
  float: right; }
  .filter-type .icon {
    opacity: 0.3; }
    .filter-type .icon.active {
      opacity: 1; }

.popup-filter-dialog {
  display: none;
  position: absolute;
  left: 45px;
  top: 100px;
  width: 900px; }
  .popup-filter-dialog-small {
    top: 50px;
    width: 275px;
    left: auto;
    right: 0; }
  .popup-filter-dialog-medium {
    top: 50px;
    width: 600px;
    left: 0; }
  .popup-filter-dialog .arrow-up {
    width: 0;
    height: 0;
    border-width: 1rem;
    border-style: solid;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    top: -2rem;
    left: 2.625rem; }
  .popup-filter-dialog .arrow-up-right {
    width: 0;
    height: 0;
    border-width: 1rem;
    border-style: solid;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    top: -2rem;
    right: 2.625rem; }
  .popup-filter-dialog .arrow-down {
    width: 0;
    height: 0;
    border-width: 1rem;
    border-style: solid;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    bottom: -2rem;
    right: 2.625rem;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .popup-filter-dialog .form__buttons {
    margin-top: 1rem; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .popup-filter-dialog {
      left: 0;
      width: 100%;
      top: 75px; }
      .popup-filter-dialog h2.type-header-medium {
        font-size: 1.5rem; }
      .popup-filter-dialog .arrow-up {
        left: 5.5rem; } }

.popup-filter-dialog.opened {
  display: block;
  z-index: 1; }

.close-popup {
  position: absolute;
  width: 2rem;
  height: 2rem;
  top: 1rem;
  right: 1rem;
  cursor: pointer; }

.close-popup::before, .close-popup::after {
  content: '';
  position: absolute;
  height: 0.125rem;
  width: 100%;
  top: 50%;
  background: #4D4D4D; }

.close-popup::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.close-popup::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.form-inverse input[type="checkbox"] + label {
  margin-left: 0; }

.property-title :after {
  content: '';
  position: relative;
  display: block;
  width: 15px;
  border: 1px solid #fff;
  margin-top: 8px; }

.tip-sign {
  text-align: center;
  display: inline-block;
  font-size: 6.25px;
  font-size: 0.625rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100%;
  border: 0.1rem solid #a6966a; }

.tip-sign:before {
  content: '?';
  color: #a6966a; }

.filter-dropdown-container {
  overflow: auto;
  border-width: 1px;
  border-style: solid;
  border-color: transparent transparent #333333 transparent; }
  .filter-dropdown-container .columns {
    margin-bottom: 1rem; }

.filter-row {
  overflow: auto; }

.filter-dropdown {
  position: relative;
  cursor: default; }
  .filter-dropdown :before {
    content: '';
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 1rem;
    height: 1rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,0 4.5,4.5' style='stroke-width: 1px; stroke:white;' /%3E%3Cpolyline points='4.5,4.5 9,0' style='stroke-width: 1px; stroke:white;' /%3E%3C/svg%3E");
    background-repeat: no-repeat; }
  .filter-dropdown :after {
    content: '';
    position: relative;
    display: block;
    width: auto;
    border: 1px solid #fff;
    margin-top: 8px; }
  .filter-dropdown:hover {
    cursor: pointer; }
  .filter-dropdown + ul {
    display: none;
    max-height: 180px;
    overflow-y: scroll; }
    .filter-dropdown + ul li {
      white-space: nowrap;
      position: relative; }

.filter-dropdown.expanded :before {
  content: '';
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,5 4.5,0.5' style='stroke-width: 1px; stroke:white;' /%3E%3Cpolyline points='4.5,0.5 9,5' style='stroke-width: 1px; stroke:white;' /%3E%3C/svg%3E");
  background-repeat: no-repeat; }

.filter-dropdown.expanded + ul {
  display: block; }

.footer {
  position: relative;
  overflow: hidden; }
  .footer-container {
    position: relative; }
  .footer-bg {
    position: absolute;
    background-color: #f2f2f2;
    width: 100%;
    height: 80%;
    left: 0;
    bottom: 0;
    z-index: 0; }
  .footer .form {
    margin-top: 3rem; }
    .footer .form_buttons {
      margin-top: 5rem; }
    .footer .form .email-submit {
      margin: 0 auto; }
  .footer_navigation {
    padding-left: 0;
    padding-right: 0; }
    @media screen and (min-width: 40em) {
      .footer_navigation {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
  .footer .terms {
    font-size: 0.75rem;
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700;
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .footer .terms li {
      display: table-cell;
      vertical-align: middle;
      text-align: center;
      position: relative;
      line-height: 1;
      border-right: 1px solid #000; }
      .footer .terms li:last-child {
        border: 0; }
  .footer .validation-text {
    margin-bottom: 12px; }

.navlist li {
  list-style: none;
  width: 100%; }
  .navlist li span {
    background: #f2f2f2; }

.navlist .list1 {
  border-bottom: 1px solid #000;
  width: 100%;
  margin-bottom: -1rem; }

.header {
  height: auto;
  position: absolute;
  width: 100%;
  z-index: 2; }
  .is-menu .header {
    background: rgba(255, 255, 255, 0.9);
    top: 0;
    left: 0;
    position: fixed; }
    .is-menu .header .header-upper {
      height: 100%;
      overflow-y: auto; }
  .header .header-upper {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    width: 100%;
    padding-top: 10px; }
    @media screen and (min-width: 64em) {
      .header .header-upper {
        position: relative;
        top: auto;
        width: auto; } }
  .header-inner {
    max-width: 79.375rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px; }
    .header-inner::before, .header-inner::after {
      content: ' ';
      display: table; }
    .header-inner::after {
      clear: both; }
  .header-lower {
    display: none; }
    @media screen and (min-width: 64em) {
      .header-lower {
        display: block;
        position: relative;
        background: #f2f2f2; } }

.hero {
  position: relative;
  width: 100%;
  z-index: 1; }

.icon-previous {
  position: absolute;
  left: 12px;
  top: 8rem;
  display: none; }
  @media screen and (min-width: 64em) {
    .icon-previous {
      left: -6%;
      display: block; } }
  .icon-previous > h3 {
    margin-left: -15%;
    margin-bottom: 30%; }
  .icon-previous > a {
    font-size: 15.625px;
    font-size: 1.5625rem;
    border: 3px solid #a6966a;
    border-radius: 100%;
    padding: 11px 15px; }

.icon-next {
  position: absolute;
  right: 12px;
  top: 8rem;
  display: none; }
  @media screen and (min-width: 64em) {
    .icon-next {
      right: -6%;
      display: block; } }
  .icon-next > h3 {
    margin-right: -17%;
    margin-bottom: 50%; }
  .icon-next > a {
    font-size: 15.625px;
    font-size: 1.5625rem;
    border: 3px solid #a6966a;
    border-radius: 100%;
    padding: 11px 15px; }

.icon-text {
  text-align: center;
  margin-bottom: 0.5rem; }
  .icon-text .icon-description {
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 6.25px;
    font-size: 0.625rem;
    color: #707070;
    display: block;
    margin-top: 6px;
    line-height: 1.5em; }

.icon-plus {
  font-size: 25px;
  position: relative;
  left: 45%;
  top: -1rem;
  background-color: #f2f2f2;
  border-radius: 100%;
  padding: 0.15rem 0.6rem; }
  @media screen and (min-width: 40em) {
    .icon-plus {
      left: 48.5%; } }

.image-block {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .image-block > .columns {
    padding-left: 0;
    padding-right: 0; }
  .image-block-collage-1x2 {
    margin-bottom: 0.9375rem; }
  .image-block-1x1 {
    padding-right: 15px !important; }
  .image-block-1x2 {
    margin-bottom: 5px; }
  .image-block-2x2 {
    margin-top: 5px; }
    .image-block-2x2 .columns {
      margin: 0 5px; }
      .image-block-2x2 .columns:first-child {
        margin-left: 0; }
      .image-block-2x2 .columns:last-child {
        margin-right: 0; }

.image-block-grid-1x2 {
  margin-bottom: 30px; }

@media screen\0 {
  .collage.shrink {
    max-width: 483px;
    -ms-flex: 100%;
    -webkit-flex: 100%;
    flex: 100%; } }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .collage {
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; } }

@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
  .collage {
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; } }

@media screen and (min-width: 40em) {
  .press-release > .column:nth-child(1), .press-release > .columns:nth-child(1) {
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1; }
  .press-release > .column:nth-child(2), .press-release > .columns:nth-child(2) {
    -webkit-order: -2;
        -ms-flex-order: -2;
            order: -2; } }

.list-view {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: auto;
  background: #fff;
  margin-bottom: 0.75rem;
  cursor: pointer;
  transition: box-shadow 200ms ease -out;
  transition-property: box-shadow;
  transition-duration: 200ms;
  transition-timing-function: ease-out;
  transition-delay: initial; }
  .list-view:hover {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2); }
  .list-view .description {
    padding: 0.5rem; }
    @media screen and (min-width: 40em) {
      .list-view .description {
        padding: 1.5rem; } }
    .list-view .description > h5 {
      font-size: 14px;
      font-weight: bold;
      color: #000; }
    .list-view .description > h6 {
      text-transform: none;
      font-size: 14px;
      font-weight: bold;
      color: #b5b5b5; }
  .list-view .stat {
    visibility: hidden;
    position: relative; }
    .list-view .stat:before {
      content: '';
      position: absolute;
      left: 0;
      border-bottom: 1px solid #b5b5b5;
      width: 100%; }
      @media screen and (min-width: 40em) {
        .list-view .stat:before {
          height: 50%;
          border-bottom: 0px;
          border-left: 1px solid #b5b5b5;
          max-height: 130px; } }

.list-view.featured .stat {
  visibility: visible; }

.map {
  position: relative;
  height: 500px; }
  .map .zoom {
    position: absolute;
    left: 0;
    bottom: 10px; }
    .map .zoom .zoom-in,
    .map .zoom .zoom-out {
      display: block;
      width: 25px;
      height: 25px;
      background: tan;
      text-align: center;
      color: black; }

.property-image {
  height: 150px;
  overflow: hidden; }

#mapLegend {
  margin-bottom: 1rem; }
  #mapLegend .legend-container {
    list-style: none;
    margin-left: 0; }
  #mapLegend .legend-item {
    text-align: left; }
    #mapLegend .legend-item label {
      display: inline-block;
      position: relative;
      z-index: 0;
      float: left;
      width: 80%;
      margin: 6px 0 0 6px; }
    #mapLegend .legend-item .rounded {
      position: relative;
      display: inline-block;
      float: left;
      width: 28px;
      height: 28px;
      position: relative;
      border-radius: 50px; }
      #mapLegend .legend-item .rounded .swatch {
        width: 20px;
        height: 20px;
        position: absolute;
        top: 4px;
        left: 4px;
        cursor: default;
        border-radius: 50px; }
        #mapLegend .legend-item .rounded .swatch:after {
          content: '';
          width: 10px;
          height: 10px;
          position: absolute;
          top: 5px;
          left: 5px;
          background: white;
          border-radius: 50%; }

.modal {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  display: none;
  position: fixed;
  top: 30%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-overflow-scrolling: touch; }
  .modal iframe {
    height: 300px; }
    @media screen and (max-width: 63.9375em) {
      .modal iframe {
        height: 460px; } }
    @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
      .modal iframe {
        height: 300px; } }
    @media screen and (min-width: 64em) {
      .modal iframe {
        height: 560px; } }
  .modal h2 {
    font-size: 1.5rem; }
  .modal h3 {
    font-size: 1.5rem; }
  .modal table {
    display: block;
    border-collapse: collapse; }
  .modal tr {
    display: block; }
  .modal td {
    display: block; }
  .modal thead {
    display: block; }
  .modal a {
    word-wrap: break-word; }
  .modal .hero {
    display: none; }
  .modal-relative {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: none;
            transform: none;
    margin: 0;
    width: 100%; }
  .modal-ajax {
    overflow: visible;
    width: 75%; }
    .modal-ajax .controls {
      position: absolute;
      top: 0;
      right: -50px; }
      .modal-ajax .controls .close-button {
        position: relative;
        display: block;
        top: 0;
        right: -3px;
        margin-bottom: 15px; }
      .modal-ajax .controls .print-page {
        position: relative;
        display: block; }
    @media screen and (min-width: 64em) {
      .modal-ajax {
        width: 750px; } }
  .modal-video {
    overflow: visible;
    width: 75%; }
    .modal-video .controls {
      position: absolute;
      top: 0;
      right: -50px; }
      .modal-video .controls .close-button {
        position: relative;
        display: block;
        top: 0;
        right: -3px;
        margin-bottom: 15px; }
    .modal-video-cta {
      overflow: hidden;
      height: 180px;
      vertical-align: middle;
      position: relative; }
      .modal-video-cta.thumbnail {
        margin-bottom: 10px; }
      .modal-video-cta img {
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
      .modal-video-cta .overlay {
        background-color: rgba(0, 0, 0, 0.45);
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        position: absolute; }
    @media screen and (min-width: 64em) {
      .modal-video {
        width: 790px; } }
  .modal.contactus {
    top: 275px !important; }
    @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
      .modal.contactus {
        top: 25% !important; } }
    .modal.contactus .callout {
      margin-top: 20px; }
    .modal.contactus .scfRequired {
      display: none; }
    @media screen and (max-width: 63.9375em) {
      .modal.contactus {
        width: 80%; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .modal.contactus {
        top: 0 !important;
        left: 0;
        width: 100%;
        height: 100%;
        height: 100vh;
        min-height: 100vh;
        max-width: none;
        margin-left: 0;
        border: 0;
        margin: 0;
        -webkit-transform: none;
        transform: none; } }

.play-button-outer {
  margin: 0 auto;
  width: 5em;
  height: 5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  right: 0;
  position: absolute;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7); }

.play-button {
  margin: 30% 40%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1em 0 1em 1.5em;
  border-color: transparent transparent transparent #000; }

.navigation {
  position: relative;
  padding: 0 55px 0 0px;
  margin: 0;
  z-index: 2; }
  @media screen and (min-width: 64em) {
    .navigation {
      padding: 0;
      background: rgba(255, 255, 255, 0.9);
      border-radius: 2px;
      border-color: transparent;
      display: table;
      table-layout: fixed; }
      .interior .navigation {
        border-bottom-right-radius: 0px;
        border-bottom-left-radius: 0px; } }
  .navigation-home-link {
    position: relative;
    left: 0;
    top: 0;
    width: 85px;
    padding: 8px 0;
    border-radius: 2px;
    border-color: transparent;
    background-color: rgba(255, 255, 255, 0.9); }
    @media screen and (min-width: 64em) {
      .navigation-home-link {
        background-color: transparent; } }
    .navigation-home-link img {
      height: 34px; }
      @media screen and (min-width: 64em) {
        .navigation-home-link img {
          height: 51px; } }
    .navigation-home-link .logo {
      height: 34px; }
      @media screen and (min-width: 64em) {
        .navigation-home-link .logo {
          height: 51px; } }
    @media screen and (min-width: 64em) {
      .navigation-home-link {
        width: 143px;
        border-radius: 0px;
        border-top-left-radius: 2px;
        border-bottom-left-radius: 2px;
        border-right: 1px solid #b5b5b5; } }
  .navigation-column {
    display: table-cell;
    vertical-align: middle;
    height: 50px; }
    @media screen and (min-width: 64em) {
      .navigation-column {
        height: 85px; } }
  .navigation-hamburger-mobile {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 55px;
    height: 50px;
    transition: background 0.3s;
    border-radius: 0px;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    border-color: transparent;
    border-left: 1px solid #dbdbdb;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.9); }
    @media screen and (min-width: 64em) {
      .navigation-hamburger-mobile {
        display: none; } }
    .navigation-hamburger-mobile:focus, .navigation-hamburger-mobile:active, .navigation-hamburger-mobile:hover {
      outline: #292929; }
    .navigation-hamburger-mobile .hamburger-toggle {
      display: block;
      position: relative;
      width: 20px;
      height: 2px;
      margin: 0 auto;
      background: #292929;
      transition: background 0s 0.3s; }
      .navigation-hamburger-mobile .hamburger-toggle::before, .navigation-hamburger-mobile .hamburger-toggle::after {
        position: absolute;
        display: block;
        left: 0;
        width: 100%;
        height: 2px;
        background: #292929;
        content: '';
        transition-duration: 0.3s, 0.3s;
        transition-delay: 0.3s, 0s; }
      .navigation-hamburger-mobile .hamburger-toggle::before {
        top: -7px;
        transition-property: top, -webkit-transform;
        transition-property: top, transform; }
      .navigation-hamburger-mobile .hamburger-toggle::after {
        bottom: -7px;
        transition-property: bottom, -webkit-transform;
        transition-property: bottom, transform; }
    .navigation-hamburger-mobile.is-active .hamburger-toggle {
      background: none; }
      .navigation-hamburger-mobile.is-active .hamburger-toggle::before, .navigation-hamburger-mobile.is-active .hamburger-toggle::after {
        transition-delay: 0s, 0.3s; }
      .navigation-hamburger-mobile.is-active .hamburger-toggle::before {
        top: 0;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      .navigation-hamburger-mobile.is-active .hamburger-toggle::after {
        bottom: 0;
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg); }
    .navigation-hamburger-mobile.is-active + .navigation-menu {
      display: block; }
  .navigation-menu {
    display: none;
    margin: 0;
    padding: 0;
    list-style-type: none;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    width: 100%;
    left: 0;
    top: 50px;
    font-weight: 700; }
    @media screen and (min-width: 64em) {
      .navigation-menu {
        position: relative;
        top: 0;
        left: auto;
        vertical-align: middle;
        background: none;
        margin: 0;
        list-style-type: none;
        display: table-cell;
        width: auto; }
        .navigation-menu > li {
          display: table-cell;
          vertical-align: middle; }
          [data-whatinput='mouse'] .navigation-menu > li {
            outline: 0; }
        .navigation-menu > li > a {
          display: block;
          padding: 0.7rem 1rem;
          line-height: 1; }
        .navigation-menu input,
        .navigation-menu a,
        .navigation-menu button {
          margin-bottom: 0; }
        .navigation-menu > li {
          display: table-cell; } }
    .navigation-menu .menu-item {
      position: relative;
      vertical-align: bottom;
      border-bottom: 1px solid #b5b5b5;
      font-size: 0.75rem;
      line-height: 2.25rem;
      color: #000000;
      font-family: "Lato";
      text-transform: uppercase; }
      .navigation-menu .menu-item:hover, .navigation-menu .menu-itemfocus {
        background: #fff; }
      @media screen and (min-width: 64em) {
        .navigation-menu .menu-item {
          border-right: 1px solid #b5b5b5;
          border-bottom: 0px;
          height: 85px;
          vertical-align: bottom; } }
      .navigation-menu .menu-item .menu-link {
        padding: 0 1.2rem;
        cursor: pointer;
        display: block; }
        @media screen and (min-width: 64em) {
          .navigation-menu .menu-item .menu-link {
            padding: 20px 2.5rem 20px 20px; } }
      .navigation-menu .menu-item.parent::after {
        content: '';
        position: absolute;
        top: 1rem;
        right: 20px;
        width: 9px;
        height: 5px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,0 4.5,4.5' style='stroke-width: 1px; stroke:black;' /%3E%3Cpolyline points='4.5,4.5 9,0' style='stroke-width: 1px; stroke:black;' /%3E%3C/svg%3E");
        background-repeat: no-repeat; }
        @media screen and (min-width: 64em) {
          .navigation-menu .menu-item.parent::after {
            top: auto;
            bottom: 1.5rem; } }
      .navigation-menu .menu-item.parent.expanded {
        overflow: hidden; }
        .navigation-menu .menu-item.parent.expanded::after {
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,5 4.5,0.5' style='stroke-width: 1px; stroke:black;' /%3E%3Cpolyline points='4.5,0.5 9,5' style='stroke-width: 1px; stroke:black;' /%3E%3C/svg%3E");
          background-repeat: no-repeat; }
        @media screen and (min-width: 64em) {
          .navigation-menu .menu-item.parent.expanded {
            background: #fff;
            overflow: visible; } }
        .navigation-menu .menu-item.parent.expanded .nested {
          height: auto; }
      .navigation-menu .menu-item .nested {
        height: 0;
        overflow: hidden; }
        .navigation-menu .menu-item .nested > li {
          padding: 5px; }
          @media screen and (min-width: 64em) {
            .navigation-menu .menu-item .nested > li:last-child a span::after {
              display: none; } }
          .navigation-menu .menu-item .nested > li .dropdown > li {
            margin-top: 10px; }
            .navigation-menu .menu-item .nested > li .dropdown > li a span {
              padding-left: 15px; }
        .navigation-menu .menu-item .nested a {
          position: relative; }
          @media screen and (min-width: 64em) {
            .navigation-menu .menu-item .nested a {
              white-space: nowrap;
              padding: 15px; } }
          .navigation-menu .menu-item .nested a:hover {
            background: #000;
            color: #fff; }
          .navigation-menu .menu-item .nested a span {
            position: relative;
            display: block;
            width: 100%;
            line-height: 1.3; }
            @media screen and (min-width: 64em) {
              .navigation-menu .menu-item .nested a span::after {
                content: '';
                width: 100%;
                height: 1px;
                border-top: 1px solid #b5b5b5;
                position: absolute;
                bottom: -20px;
                left: 0; } }
          .navigation-menu .menu-item .nested a.menu-link-parent:hover {
            background: #fff;
            color: #000; }
          .navigation-menu .menu-item .nested a.menu-link-parent span {
            padding-right: 25px; }
          .navigation-menu .menu-item .nested a.menu-link-parent::after {
            content: '';
            position: absolute;
            top: 1.2rem;
            right: 15px;
            width: 9px;
            height: 5px;
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,0 4.5,4.5' style='stroke-width: 1px; stroke:black;' /%3E%3Cpolyline points='4.5,4.5 9,0' style='stroke-width: 1px; stroke:black;' /%3E%3C/svg%3E");
            background-repeat: no-repeat; }
            @media screen and (min-width: 64em) {
              .navigation-menu .menu-item .nested a.menu-link-parent::after {
                top: auto;
                bottom: 1.1875rem; } }
          .navigation-menu .menu-item .nested a.menu-link-parent.expanded {
            overflow: hidden; }
            .navigation-menu .menu-item .nested a.menu-link-parent.expanded::after {
              background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpolyline points='0,5 4.5,0.5' style='stroke-width: 1px; stroke:black;' /%3E%3Cpolyline points='4.5,0.5 9,5' style='stroke-width: 1px; stroke:black;' /%3E%3C/svg%3E");
              background-repeat: no-repeat; }
            @media screen and (min-width: 64em) {
              .navigation-menu .menu-item .nested a.menu-link-parent.expanded {
                background: #fff;
                overflow: visible; } }
            .navigation-menu .menu-item .nested a.menu-link-parent.expanded .nested {
              height: auto; }
        @media screen and (min-width: 64em) {
          .navigation-menu .menu-item .nested {
            position: absolute;
            left: 0;
            z-index: 1;
            background: #fff;
            width: auto;
            margin: 0; } }
  .navigation-search {
    background: rgba(255, 255, 255, 0.9);
    width: 55px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 55px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    border-color: transparent; }
    @media screen and (min-width: 64em) {
      .navigation-search {
        position: relative;
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        width: 100px;
        height: 85px;
        top: auto;
        right: auto;
        background: none; } }
    .navigation-search .search-button {
      position: relative;
      padding: 15px;
      width: 100%;
      line-height: 20px; }
      @media screen and (min-width: 64em) {
        .navigation-search .search-button {
          width: auto; } }
      .navigation-search .search-button-icon {
        display: block;
        width: 20px;
        height: 20px;
        margin: 0; }
        @media screen and (min-width: 64em) {
          .navigation-search .search-button-icon {
            width: 25px;
            height: 25px; } }
        .navigation-search .search-button-icon path {
          fill: #292929; }
    .navigation-search .search-button-go {
      position: relative;
      padding: 15px;
      width: 100%;
      line-height: 20px; }
    .navigation-search.is-active {
      width: 100%;
      position: relative;
      left: 0;
      top: 0; }
    .navigation-search.active {
      background-color: #000; }
  .navigation-searchir {
    display: none; }
    @media screen and (min-width: 64em) {
      .navigation-searchir {
        position: relative;
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        width: 100px;
        height: 85px;
        top: auto;
        right: auto;
        background: none; } }

.news-blurb {
  padding: 1rem 2rem; }
  .news-blurb .headline {
    color: #707070;
    margin-bottom: 0.5rem; }
  .news-blurb-footer {
    color: #a6966a;
    font-size: 14px; }

.news {
  margin-bottom: 1rem; }
  .news:last-child {
    margin-bottom: 0; }
  .news .date {
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 8.75px;
    font-size: 0.875rem;
    color: #707070;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #000; }
  .news-article-title {
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 11.25px;
    font-size: 1.125rem;
    color: #000;
    line-height: 1.25rem; }
  .news-footer {
    color: #a6966a;
    font-size: 8.75px;
    font-size: 0.875rem; }

.page-menu {
  max-width: 79.375rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 10px;
  font-size: 1rem;
  color: #000;
  margin-bottom: 2.5rem; }
  @media screen and (min-width: 40em) {
    .page-menu {
      margin-bottom: 1rem; } }
  .page-menu .page-menu-item {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    text-align: center; }
    .page-menu .page-menu-item .page-menu-link {
      font-size: 6.25px;
      font-size: 0.625rem;
      display: inline-block;
      line-height: 15px;
      margin-top: 15px;
      padding-bottom: 5px;
      border-bottom: 5px solid transparent; }
      .page-menu .page-menu-item .page-menu-link.active, .page-menu .page-menu-item .page-menu-link:active, .page-menu .page-menu-item .page-menu-link:hover {
        font-weight: 700;
        border-bottom: 5px solid #000; }
      .page-menu .page-menu-item .page-menu-link:hover {
        font-weight: 400;
        border-bottom: none; }
      @media screen and (min-width: 40em) {
        .page-menu .page-menu-item .page-menu-link {
          line-height: 85px;
          margin-top: 0;
          padding-bottom: 0; } }
      @media screen and (min-width: 64em) {
        .page-menu .page-menu-item .page-menu-link {
          font-size: 10px;
          font-size: 1rem; } }

.panel .panel-gray {
  background-color: #f2f2f2;
  padding: 1rem; }
  .panel .panel-gray .panel-heading h3 {
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 11.25px;
    font-size: 1.125rem;
    font-weight: bold;
    color: #000; }
  .panel .panel-gray .panel-heading:after {
    content: '';
    display: table;
    border-bottom: 4px solid #000;
    width: 20px; }
  .panel .panel-gray .panel-body {
    margin: 1rem auto; }

.panel-body {
  padding: 1rem; }

.panel .panel-white {
  background-color: #fff; }
  .panel .panel-white .panel-heading h3 {
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 11.25px;
    font-size: 1.125rem;
    font-weight: bold;
    color: #000; }
  .panel .panel-white .panel-heading:after {
    content: '';
    display: table;
    border-bottom: 4px solid #000;
    width: 20px; }
  .panel .panel-white .panel-body {
    margin: 1rem auto; }

@media print {
  .medium-1 {
    width: 8.33333%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-12 {
    width: 100%; }
  .medium-expand {
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px; }
  .property-navigation {
    display: none; }
  .hero .banner-background-image img {
    margin: 0; }
  .footer-container {
    display: none; }
  .lt-main-content {
    margin: 0; }
  .btn-contactus {
    display: none; }
  .back-to-top {
    display: none !important; }
  h1 {
    font-size: 1.5rem !important; }
  .badge {
    width: 186px;
    height: 186px; }
  .header {
    position: relative; }
    .header .header-inner {
      width: 100%;
      padding: 0;
      margin: 0; }
    .header .header-upper {
      position: relative; }
    .header .navigation {
      padding: 0; }
  .icon-is-logo {
    height: 75px;
    width: 130px; }
  .lt-section-padding-large-all {
    padding: 10px; }
  .orbit-previous, .orbit-next {
    display: none; }
  a[href]:after {
    display: none; }
  .type-header-medium {
    font-size: 1rem; }
  .lt-force-margin-right {
    display: none; }
  .tabs {
    display: none; }
  .tabs-content .tabs-panel {
    display: block !important; } }

.property-header {
  min-height: 66px; }
  .property-header .logo {
    width: auto;
    height: 54px; }
  .property-header h1 {
    display: inline-block;
    /*line-height:54px;*/
    margin-bottom: 0px; }
  @media screen and (min-width: 40em) {
    .property-header .property-navigation ul {
      float: right; } }
  .property-header .property-navigation ul li a {
    padding: 5px; }
    .property-header .property-navigation ul li a .has-tip {
      border: none; }
  .property-header .property-navigation .icon-xsmall {
    width: 20px;
    height: 20px; }

.quote-block {
  position: relative;
  margin: 30px 15px 40px; }
  .quote-block:before {
    content: '“ ';
    font-size: 3.5rem;
    position: absolute;
    left: 0;
    top: -35px;
    font-family: "EB Garamond", "Times New Roman", Times, serif; }
  .quote-block:after {
    content: ' ”';
    font-size: 3.5rem;
    position: absolute;
    right: 0;
    bottom: -60px;
    font-family: "EB Garamond", "Times New Roman", Times, serif; }

.search {
  background: rgba(255, 255, 255, 0.9); }
  .search .menu .menu-item {
    border-left: 1px solid #dbdbdb;
    height: 85px;
    width: 100px;
    vertical-align: bottom; }

.search-container input {
  background: rgba(0, 0, 0, 0.8);
  border: none;
  border-radius: 0;
  margin: 0;
  height: auto; }
  .search-container input:focus {
    background: rgba(0, 0, 0, 0.8);
    border: none;
    border-radius: 0;
    color: #fff; }

.search-meta {
  margin: 0 0 15px 0; }
  @media screen and (min-width: 40em) {
    .search-meta {
      margin: -30px 15px 0 15px; } }

.stat {
  font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  text-align: center;
  width: 100%; }
  .stat-icon {
    margin-bottom: 0.5rem; }
  .stat-figure {
    font-size: 22.5px;
    font-size: 2.25rem;
    color: #000;
    margin: 0 0 0.5rem 0; }
    .stat-figure sup {
      font-size: 11.25px;
      font-size: 1.125rem; }
    .stat-figure-description {
      font-size: 11.25px;
      font-size: 1.125rem;
      color: #000;
      margin: 0 0 0.5rem 0;
      position: relative; }
      .stat-figure-description:after {
        content: '';
        position: relative;
        display: block;
        width: 20px;
        border: 2px solid #000;
        position: absolute;
        left: 50%;
        margin: 0.875rem auto 1rem -10px;
        background-color: #000; }
    .stat-figure.alternative {
      margin: 0; }
    .stat-figure.is-large {
      font-size: 31.25px;
      font-size: 3.125rem; }
  .stat-subfigure {
    font-size: 8.75px;
    font-size: 0.875rem;
    font-weight: bold;
    margin-top: 2rem;
    color: #a6966a; }
  .stat-award {
    font-size: 15px;
    font-size: 1.5rem;
    color: #000;
    margin: 0 0 0.5rem 0; }
  .stat-description {
    font-size: 8.75px;
    font-size: 0.875rem;
    font-weight: bold;
    color: #a6966a;
    position: relative; }
  .stat-caption {
    font-size: 8.75px;
    font-size: 0.875rem;
    font-weight: bold;
    color: #a6966a;
    position: relative; }
    .stat-caption:after {
      content: '';
      position: relative;
      display: block;
      width: 20px;
      border: 2px solid #000;
      position: absolute;
      left: 50%;
      margin: 0.875rem auto 1rem -10px;
      background-color: #000; }
    .stat-caption.type-medium {
      font-size: 1rem;
      color: #000000;
      font-weight: normal; }
    .stat-caption.no-accent:after {
      display: none; }
  .stat-small .stat-icon {
    width: 30px;
    height: 30px; }
  .stat-small .stat-figure {
    font-size: 11.25px;
    font-size: 1.125rem; }
  .stat-small .stat-caption {
    font-size: 7.5px;
    font-size: 0.75rem; }
    .stat-small .stat-caption:after {
      width: 6px;
      border: 0;
      border-top: 1px solid #000;
      margin: 0.7rem auto -3px;
      background-color: #000; }
  .stat-medium .stat-icon {
    width: 40px;
    height: 40px; }
  .stat-large .stat-icon {
    width: 50px;
    height: 50px; }

.stock-price {
  line-height: 0;
  margin-bottom: 1.5rem; }
  .stock-price:after {
    content: '';
    display: inline-block;
    border-bottom: 4px solid #000;
    width: 20px; }
  .stock-price p {
    font-family: "Quicksand", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 22.5px;
    font-size: 2.25rem;
    color: #000;
    padding: 1rem 0 0.5rem; }

.three-column {
  margin: 2.5rem 0; }
  .three-column .badge.is-left {
    margin: 20px auto; }
  .three-column h3.type-header-medium {
    margin-top: 20px; }
  @media screen and (min-width: 64em) {
    .three-column.is-image-right .is-image {
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      max-width: 100%; } }
  @media screen and (min-width: 40em) {
    .three-column.is-image-right .columns:last-child, .three-column.is-image-right .column:last-child, .three-column.is-image-right .columns:last-child {
      padding-right: 0; } }
  @media screen and (min-width: 64em) {
    .three-column.is-image-left .is-image {
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      max-width: 100%; } }
  @media screen and (min-width: 64em) {
    .three-column.is-image-left .columns:first-child, .three-column.is-image-left .column:first-child, .three-column.is-image-left .columns:first-child {
      padding-left: 0; } }
  @media screen and (min-width: 40em) {
    .three-column:nth-child(odd) .column:nth-child(1), .three-column:nth-child(odd) .columns:nth-child(1) {
      -webkit-order: -1;
          -ms-flex-order: -1;
              order: -1; }
    .three-column:nth-child(odd) .column:nth-child(2), .three-column:nth-child(odd) .columns:nth-child(2) {
      -webkit-order: -2;
          -ms-flex-order: -2;
              order: -2; }
    .three-column:nth-child(odd) .column:nth-child(3), .three-column:nth-child(odd) .columns:nth-child(3) {
      -webkit-order: -3;
          -ms-flex-order: -3;
              order: -3; }
    .three-column:nth-child(odd) .column:nth-child(4), .three-column:nth-child(odd) .columns:nth-child(4) {
      -webkit-order: -4;
          -ms-flex-order: -4;
              order: -4; }
    .three-column:nth-child(odd) .column:nth-child(5), .three-column:nth-child(odd) .columns:nth-child(5) {
      -webkit-order: -5;
          -ms-flex-order: -5;
              order: -5; }
    .three-column:nth-child(odd) .column:nth-child(6), .three-column:nth-child(odd) .columns:nth-child(6) {
      -webkit-order: -6;
          -ms-flex-order: -6;
              order: -6; } }

.thumbnail {
  border: 0;
  border-radius: 0;
  position: relative;
  cursor: pointer;
  display: block;
  margin-bottom: 0; }
  @supports (-ms-accelerator: true) {
    .list-grid .thumbnail {
      position: relative;
      height: 125px; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .thumbnail {
      margin-bottom: 1rem; } }
  .thumbnail img {
    display: block;
    width: 100%; }
    @supports (-ms-accelerator: true) {
      .list-grid .thumbnail img {
        position: absolute;
        clip: rect(0px, 245px, 125px, 0px); } }
  .thumbnail-narrow {
    overflow: hidden; }
    .thumbnail-narrow img {
      width: 100%; }
  .thumbnail .featured {
    position: absolute;
    right: 0;
    top: 0;
    padding: 0.25rem;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    line-height: 1; }
    @media screen and (min-width: 40em) {
      .thumbnail .featured {
        display: block; } }
    .thumbnail .featured h4 {
      margin-bottom: 0; }
  .thumbnail .description {
    height: 4rem;
    width: 100%;
    position: absolute;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 0.25rem;
    color: #fff;
    line-height: 1em; }
    @media screen and (min-width: 40em) {
      .thumbnail .description {
        padding: 0.5rem; } }
    @media only screen and (min-device-width: 320px) and (max-device-width: 568px) {
      .thumbnail-grid .thumbnail .thumbnail .description h3 {
        font-size: .675rem;
        font-weight: 600; } }
    .thumbnail-grid .thumbnail .thumbnail .description h3 {
      font-size: 0.675rem;
      font-weight: 600; }
  .thumbnail-circle {
    border-radius: 123px;
    overflow: hidden;
    border: 1px solid white;
    width: 246px;
    margin: 0 auto;
    cursor: text; }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
      .thumbnail-circle {
        width: 100%; } }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
      .thumbnail-circle {
        width: 85%; } }
    .thumbnail-circle-xsmall {
      border-radius: 100%;
      overflow: hidden;
      border: 1px solid white;
      width: 100%;
      margin: 0 auto;
      cursor: pointer;
      max-width: 90px; }

.thumbnail-grid .description h3 {
  font-size: 0.675rem;
  font-weight: 600; }
  @media only screen and (min-device-width: 320px) and (max-device-width: 568px) {
    .thumbnail-grid .description h3 {
      font-size: 0.675rem;
      font-weight: 600; } }

/* -------------------------------- 

Modules - reusable parts of our design

-------------------------------- */
.cd-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 1170px;
  margin: 0 auto; }
  .cd-container::after {
    /* clearfix */
    content: '';
    display: table;
    clear: both; }

/* -------------------------------- 

Main components 

-------------------------------- */
#cd-timeline {
  position: relative;
  padding: 0 0 2rem;
  margin-top: 2em;
  margin-bottom: 2em; }
  #cd-timeline::before {
    /* this is the vertical line */
    content: '';
    position: absolute;
    top: 0;
    left: 18px;
    height: 100%;
    width: 2px;
    background: #ddd; }
  @media only screen and (min-width: 1170px) {
    #cd-timeline {
      margin-top: 3em;
      margin-bottom: 3em; }
      #cd-timeline::before {
        left: 50%;
        margin-left: -2px; } }

.cd-timeline-block {
  position: relative;
  margin: 2em 0; }
  .cd-timeline-block:first-child {
    margin-top: 0; }
  .cd-timeline-block:last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 1170px) {
    .cd-timeline-block {
      margin: 4em 0; }
      .cd-timeline-block:first-child {
        margin-top: 0; }
      .cd-timeline-block:last-child {
        margin-bottom: 0; } }

.cd-timeline-img {
  position: absolute;
  top: 6.5rem;
  left: 0;
  width: 40px;
  height: 40px; }
  .cd-timeline-img .circle {
    display: block;
    width: 24px;
    height: 24px;
    position: relative;
    left: 50%;
    top: 50%;
    margin-left: -12px;
    margin-top: -12px;
    border: 2px solid #ccc;
    background: white;
    background-size: 24px 24px;
    border-radius: 50%; }
    .cd-timeline-img .circle .inner-circle {
      width: 10px;
      height: 10px;
      background: #a6966a;
      background-size: 10px 10px;
      border-radius: 50%;
      position: relative;
      margin: 5px auto;
      display: block; }
  @media only screen and (min-width: 1170px) {
    .cd-timeline-img {
      width: 60px;
      height: 60px;
      left: 50%;
      top: 5rem;
      margin-left: -30px;
      /* Force Hardware Acceleration in WebKit */
      -webkit-transform: translateZ(0);
      -webkit-backface-visibility: hidden; }
      .cssanimations .cd-timeline-img.is-hidden {
        visibility: hidden; }
      .cssanimations .cd-timeline-img.bounce-in {
        visibility: visible; } }

.cd-timeline-content {
  position: relative;
  background: transparent;
  margin-left: 2.5rem; }
  @media only screen and (min-width: 1170px) {
    .cd-timeline-content .cd-timeline-header {
      padding-right: 4.5rem;
      text-align: right; }
    .cd-timeline-content .cd-timeline-info {
      padding-left: 4.5rem;
      margin-top: .5rem; } }
  .cd-timeline-content .cd-timeline-year {
    line-height: 1;
    color: #b5b5b5;
    font-size: 40px;
    font-size: 4rem; }
    .cd-timeline-content .cd-timeline-year:after {
      content: "";
      display: block;
      width: 20px;
      border: 0;
      border-top: 4px solid black;
      margin-top: 10px;
      text-align: right; }
  @media only screen and (min-width: 1170px) {
    .cd-timeline-content {
      margin-left: 0;
      padding: 0 1.6em 1.6em; }
      .cd-timeline-content::before {
        top: 24px;
        left: 100%;
        border-color: transparent;
        border-left-color: white; }
      .cd-timeline-block:nth-child(odd) .cd-timeline-content {
        text-align: left; }
        .cd-timeline-block:nth-child(odd) .cd-timeline-content .cd-timeline-year:after {
          content: "";
          display: block;
          width: 20px;
          border: 0;
          border-top: 4px solid black;
          margin-top: 10px;
          left: 95%;
          position: relative; }
      .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-timeline-header {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        text-align: left;
        padding: 0 0 0 4.5rem; }
      .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-timeline-info {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        text-align: right;
        padding: 0 4.5rem 0 0; }
      .cssanimations .cd-timeline-content.is-hidden {
        visibility: hidden; }
      .cssanimations .cd-timeline-content.bounce-in {
        visibility: visible; } }

@media only screen and (min-width: 1170px) {
  /* inverse bounce effect on even content blocks */ }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlcy5zY3NzIiwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCJjb21wb25lbnRzL19saXN0cy5zY3NzIiwiY29tcG9uZW50cy9fb3dsLWNhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fc3RhdGljbWFwLnNjc3MiLCJjb21wb25lbnRzL190YWIuc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJjb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9jb21wb25lbnRzL2JhY2stdG8tdG9wL19iYWNrLXRvLXRvcC5zY3NzIiwiLi4vY29tcG9uZW50cy9iYWRnZS9fYmFkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvYmFubmVyL19iYW5uZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2NhbGVuZGFyL19jYWxlbmRhci5zY3NzIiwiLi4vY29tcG9uZW50cy9jYXJvdXNlbC9fY2Fyb3VzZWwuc2NzcyIsIi4uL2NvbXBvbmVudHMvY2F0ZWdvcnktZGVzY3JpcHRpb24vX2NhdGVnb3J5LWRlc2NyaXB0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL2RhdGUtdGl0bGUvX2RhdGUtdGl0bGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvZmlsdGVyL19maWx0ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL19mb290ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVhZGVyLWlubGluZS9faGVhZGVyLWlubGluZS5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9pY29uLXRleHQvX2ljb24tdGV4dC5zY3NzIiwiLi4vY29tcG9uZW50cy9pbWFnZS1ibG9jay9faW1hZ2UtYmxvY2suc2NzcyIsIi4uL2NvbXBvbmVudHMvbGlzdC12aWV3L19saXN0LXZpZXcuc2NzcyIsIi4uL2NvbXBvbmVudHMvbWFwL19tYXAuc2NzcyIsIi4uL2NvbXBvbmVudHMvbW9kYWwvX21vZGFsLnNjc3MiLCIuLi9jb21wb25lbnRzL25hdmlnYXRpb24vX25hdmlnYXRpb24uc2NzcyIsIi4uL2NvbXBvbmVudHMvbmV3cy1ibHVyYi9fbmV3cy1ibHVyYi5zY3NzIiwiLi4vY29tcG9uZW50cy9uZXdzL19uZXdzLnNjc3MiLCIuLi9jb21wb25lbnRzL3BhZ2UtbmF2aWdhdGlvbi9fbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9wYW5lbHMvX3BhbmVsLnNjc3MiLCIuLi9jb21wb25lbnRzL3ByaW50LXBhZ2UvX3ByaW50LXBhZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvcHJvcGVydHktaGVhZGVyL19wcm9wZXJ0eS1oZWFkZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvcXVvdGUtYmxvY2svX3F1b3RlLWJsb2NrLnNjc3MiLCIuLi9jb21wb25lbnRzL3NlYXJjaC9fc2VhcmNoLnNjc3MiLCIuLi9jb21wb25lbnRzL3N0YXQvX3N0YXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3RvY2stcHJpY2UvX3N0b2NrLXByaWNlLnNjc3MiLCIuLi9jb21wb25lbnRzL3RocmVlLWNvbHVtbi9fdGhyZWUtY29sdW1uLnNjc3MiLCIuLi9jb21wb25lbnRzL3RodW1ibmFpbC9fdGh1bWJuYWlsLnNjc3MiLCIuLi9jb21wb25lbnRzL3RpbWVsaW5lL190aW1lbGluZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ01EO0VBUkEsMkJDa0JjO0VEakJkLG1DQ2lDZSxFRGhDaEI7O0FFOE1DLDRFQUE0RTtBQUU1RTs7OztLQUlHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEO2tGQUNnRjtBQUVoRjs7Ozs7S0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBYyxFQUNmOztBQUVEOzs7S0FHRztBQUVIOzs7O0VBSUUsc0JBQXFCO0VBQUUsT0FBTztFQUM5Qix5QkFBd0I7RUFBRSxPQUFPLEVBQ2xDOztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDs7O0tBR0c7QUo5TUw7O0VJa05JLGNBQWEsRUFDZDs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDhCQUE2QixFQUM5Qjs7QUFFRDs7O0tBR0c7QUFFSDs7RUFFRSxXQUFVLEVBQ1g7O0FBRUQ7a0ZBQ2dGO0FBRWhGOztLQUVHO0FBRUg7RUFDRSwwQkFBeUIsRUFDMUI7O0FBRUQ7O0tBRUc7QUFFSDs7RUFFRSxrQkFBaUIsRUFDbEI7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7O0tBR0c7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQkFBZ0IsRUFDakI7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLGlCQUFnQjtFQUNoQixZQUFXLEVBQ1o7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGVBQWM7RUFDZCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHlCQUF3QixFQUN6Qjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFFRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztLQUVHO0FBRUg7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7a0ZBQ2dGO0FBRWhGOztLQUVHO0FBRUg7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLHdCQUF1QjtFQUN2QixVQUFTLEVBQ1Y7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7S0FFRztBQUVIOzs7O0VBSUUsa0NBQWlDO0VBQ2pDLGVBQWMsRUFDZjs7QUFFRDtrRkFDZ0Y7QUFFaEY7OztLQUdHO0FBRUg7Ozs7O0tBS0c7QUFFSDs7Ozs7RUFLRSxlQUFjO0VBQUUsT0FBTztFQUN2QixjQUFhO0VBQUUsT0FBTztFQUN0QixVQUFTO0VBQUUsT0FBTyxFQUNuQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEOzs7OztLQUtHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOzs7Ozs7S0FNRztBQUVIOzs7O0VBSUUsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxnQkFBZTtFQUFFLE9BQU8sRUFDekI7O0FBRUQ7O0tBRUc7QUFFSDs7RUFFRSxnQkFBZSxFQUNoQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxvQkFBbUIsRUFDcEI7O0FBRUQ7Ozs7OztLQU1HO0FBRUg7O0VBRUUsdUJBQXNCO0VBQUUsT0FBTztFQUMvQixXQUFVO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7OztLQUlHO0FBRUg7O0VBRUUsYUFBWSxFQUNiOztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUUsT0FBTztFQUN0Qyx3QkFBdUI7RUFBRSxPQUFPLEVBQ2pDOztBQUVEOzs7O0tBSUc7QUFFSDs7RUFFRSx5QkFBd0IsRUFDekI7O0FBRUQ7OztLQUdHO0FBRUg7Ozs7TUFJSTtBQUVKOzs7S0FHRztBQUVIO0VBQ0UsVUFBUztFQUFFLE9BQU87RUFDbEIsV0FBVTtFQUFFLE9BQU8sRUFDcEI7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O0tBR0c7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDBCQUF5QjtFQUN6QixrQkFBaUIsRUFDbEI7O0FBRUQ7O0VBRUUsV0FBVSxFQUNYOztBQXBnQkQ7RUFDRSwwRkFBZ0QsRUFDakQ7O0FBa0dEO0VBL0ZFLGdCQzlFbUI7RUQrRW5CLHVCQUFzQixFQUN2Qjs7QUFHRDs7O0VBR0Usb0JBQW1CLEVBQ3BCOztBQWdHRDtFQTVGRSxXQUFVO0VBQ1YsVUFBUztFQUNULDREQzdFNkQ7RUQ4RTdELG9CQW5EeUI7RUFvRHpCLGlCQzlGbUI7RUQrRm5CLFlDckZRO0VEc0ZSLGlCQ3JGUTtFRHdGTixvQ0FBbUM7RUFDbkMsbUNBQWtDLEVBRXJDOztBQXNQRDtFQWxQRSxnQkFBZTtFQUNmLGFBQVk7RUFDWixnQ0FBK0I7RUFHL0Isc0JBQXFCO0VBQ3JCLHVCQUFzQixFQUN2Qjs7QUErYkQ7RUEzYkUsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixtQkMvRmUsRURnR2hCOztBQUdEO0VBQ0UsWUFBVztFQUNYLG1CQ3JHZSxFRHNHaEI7O0FBT0M7Ozs7Ozs7OztFQUdFLDJCQUEwQixFQUMzQjs7QUFvU0g7RUEvUkUseUJBQXdCO0VBQ3hCLHNCQUFxQjtFQUNyQix3QkFBdUI7RUFDdkIsV0FBVTtFQUNWLFVBQVM7RUFDVCxtQkMzSGU7RUQ0SGYsZUFBYyxFQUNmOztBQUdEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UseUJBQXdCLEVBQ3pCOztBRXBDRDtFQXZIRSxxQkM4QnFEO0VEN0JyRCxrQkFBaUI7RUFDakIsbUJBQWtCO0VBSWxCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUIsRUFnSXBCO0VBaEJEO0lFckZFLHdCQURtQztJQUVuQyx5QkFGbUMsRUY0RmxDO0VBTkg7SUFVSSxnQkFBZSxFQUNoQjtFQVhIO0lHL0pBLGdCQUFlO0lBQ2YsaUJBQWdCLEVINEs4Qjs7QUFLOUM7RUFoRkEsc0JBbENjO01Ba0NkLGtCQWxDYztVQWtDZCxjQWxDYztFQW1DZCx3QkFkZ0M7RUFlaEMseUJBZmdDLEVBK0YvQjs7QUFJRDtFQUNFLFlBQVcsRUFTWjtFQU5DO0lBQ0UsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLGdCQUFlLEVBQ2hCOztBQU1DO0VBQ0UsMkJJckwrQztNSnFML0MsdUJJckwrQztVSnFML0MsbUJJckwrQztFSnNML0Msb0JJdEwrQyxFSnVMaEQ7O0FBS0Q7RUtsTEosZ0JEYmdDLEVKaU0zQjs7QUFWRDtFQUNFLDRCSXJMK0M7TUpxTC9DLHdCSXJMK0M7VUpxTC9DLG9CSXJMK0M7RUpzTC9DLHFCSXRMK0MsRUp1TGhEOztBQUtEO0VLbExKLHNCRFZxRCxFSjhMaEQ7O0FBVkQ7RUFDRSxzQklyTCtDO01KcUwvQyxrQklyTCtDO1VKcUwvQyxjSXJMK0M7RUpzTC9DLGVJdEwrQyxFSnVMaEQ7O0FBS0Q7RUtsTEosdUJEVnFELEVKOExoRDs7QUFWRDtFQUNFLDRCSXJMK0M7TUpxTC9DLHdCSXJMK0M7VUpxTC9DLG9CSXJMK0M7RUpzTC9DLHFCSXRMK0MsRUp1TGhEOztBQUtEO0VLbExKLGlCRFZxRCxFSjhMaEQ7O0FBVkQ7RUFDRSw0QklyTCtDO01KcUwvQyx3QklyTCtDO1VKcUwvQyxvQklyTCtDO0VKc0wvQyxxQkl0TCtDLEVKdUxoRDs7QUFLRDtFS2xMSix1QkRWcUQsRUo4TGhEOztBQVZEO0VBQ0Usc0JJckwrQztNSnFML0Msa0JJckwrQztVSnFML0MsY0lyTCtDO0VKc0wvQyxlSXRMK0MsRUp1TGhEOztBQUtEO0VLbExKLHVCRFZxRCxFSjhMaEQ7O0FBVkQ7RUFDRSw0QklyTCtDO01KcUwvQyx3QklyTCtDO1VKcUwvQyxvQklyTCtDO0VKc0wvQyxxQkl0TCtDLEVKdUxoRDs7QUFLRDtFS2xMSixpQkRWcUQsRUo4TGhEOztBQVZEO0VBQ0UsNEJJckwrQztNSnFML0Msd0JJckwrQztVSnFML0Msb0JJckwrQztFSnNML0MscUJJdEwrQyxFSnVMaEQ7O0FBS0Q7RUtsTEosdUJEVnFELEVKOExoRDs7QUFWRDtFQUNFLHNCSXJMK0M7TUpxTC9DLGtCSXJMK0M7VUpxTC9DLGNJckwrQztFSnNML0MsZUl0TCtDLEVKdUxoRDs7QUFLRDtFS2xMSix1QkRWcUQsRUo4TGhEOztBQVZEO0VBQ0UsNEJJckwrQztNSnFML0Msd0JJckwrQztVSnFML0Msb0JJckwrQztFSnNML0MscUJJdEwrQyxFSnVMaEQ7O0FBS0Q7RUtsTEosaUJEVnFELEVKOExoRDs7QUFWRDtFQUNFLDRCSXJMK0M7TUpxTC9DLHdCSXJMK0M7VUpxTC9DLG9CSXJMK0M7RUpzTC9DLHFCSXRMK0MsRUp1TGhEOztBQUtEO0VLbExKLHVCRFZxRCxFSjhMaEQ7O0FBVkQ7RUFDRSx1QklyTCtDO01KcUwvQyxtQklyTCtDO1VKcUwvQyxlSXJMK0M7RUpzTC9DLGdCSXRMK0MsRUp1TGhEOztBQUtEO0VLbExKLHVCRFZxRCxFSjhMaEQ7O0FBS0Q7RUF2R0osaUJBcUdnQjtNQXJHaEIsa0JBcUdnQjtVQXJHaEIsU0FxR2dCLEVBSVg7O0FBRkQ7RUF2R0osaUJBcUdnQjtNQXJHaEIsa0JBcUdnQjtVQXJHaEIsU0FxR2dCLEVBSVg7O0FBRkQ7RUF2R0osaUJBcUdnQjtNQXJHaEIsa0JBcUdnQjtVQXJHaEIsU0FxR2dCLEVBSVg7O0FBRkQ7RUF2R0osaUJBcUdnQjtNQXJHaEIsa0JBcUdnQjtVQXJHaEIsU0FxR2dCLEVBSVg7O0FBRkQ7RUF2R0osaUJBcUdnQjtNQXJHaEIsa0JBcUdnQjtVQXJHaEIsU0FxR2dCLEVBSVg7O0FBRkQ7RUF2R0osaUJBcUdnQjtNQXJHaEIsa0JBcUdnQjtVQXJHaEIsU0FxR2dCLEVBSVg7O0FBMEJIO0VHbFBGLGdCQUFlO0VBQ2YsaUJBQWdCLEVIa1A4Qjs7QUFZMUM7RUd0UEosd0JBRDhCO0VBRTlCLHlCQUY4QixFSHVQMkI7O0FNL0h2RDtFTnVFRTtJQUNFLDJCSXJMK0M7UUpxTC9DLHVCSXJMK0M7WUpxTC9DLG1CSXJMK0M7SUpzTC9DLG9CSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosZ0JEYmdDLEVKaU0zQjtFQVZEO0lBQ0UsNEJJckwrQztRSnFML0Msd0JJckwrQztZSnFML0Msb0JJckwrQztJSnNML0MscUJJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSixzQkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSxzQklyTCtDO1FKcUwvQyxrQklyTCtDO1lKcUwvQyxjSXJMK0M7SUpzTC9DLGVJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSix1QkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSw0QklyTCtDO1FKcUwvQyx3QklyTCtDO1lKcUwvQyxvQklyTCtDO0lKc0wvQyxxQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLGlCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtFQVZEO0lBQ0Usc0JJckwrQztRSnFML0Msa0JJckwrQztZSnFML0MsY0lyTCtDO0lKc0wvQyxlSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtFQVZEO0lBQ0UsNEJJckwrQztRSnFML0Msd0JJckwrQztZSnFML0Msb0JJckwrQztJSnNML0MscUJJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSixpQkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSw0QklyTCtDO1FKcUwvQyx3QklyTCtDO1lKcUwvQyxvQklyTCtDO0lKc0wvQyxxQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHVCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLHNCSXJMK0M7UUpxTC9DLGtCSXJMK0M7WUpxTC9DLGNJckwrQztJSnNML0MsZUl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHVCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosaUJEVnFELEVKOExoRDtFQVZEO0lBQ0UsNEJJckwrQztRSnFML0Msd0JJckwrQztZSnFML0Msb0JJckwrQztJSnNML0MscUJJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSix1QkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSx1QklyTCtDO1FKcUwvQyxtQklyTCtDO1lKcUwvQyxlSXJMK0M7SUpzTC9DLGdCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtFQUtEO0lBdkdKLGlCQXFHZ0I7UUFyR2hCLGtCQXFHZ0I7WUFyR2hCLFNBcUdnQixFQUlYO0VBRkQ7SUF2R0osaUJBcUdnQjtRQXJHaEIsa0JBcUdnQjtZQXJHaEIsU0FxR2dCLEVBSVg7RUFGRDtJQXZHSixpQkFxR2dCO1FBckdoQixrQkFxR2dCO1lBckdoQixTQXFHZ0IsRUFJWDtFQUZEO0lBdkdKLGlCQXFHZ0I7UUFyR2hCLGtCQXFHZ0I7WUFyR2hCLFNBcUdnQixFQUlYO0VBRkQ7SUF2R0osaUJBcUdnQjtRQXJHaEIsa0JBcUdnQjtZQXJHaEIsU0FxR2dCLEVBSVg7RUFGRDtJQXZHSixpQkFxR2dCO1FBckdoQixrQkFxR2dCO1lBckdoQixTQXFHZ0IsRUFJWCxFQUFBOztBTXhGSDtFTjhGSTtJQUNFLHNCQS9KTTtRQStKTixrQkEvSk07WUErSk4sY0EvSk0sRUFnS1AsRUFBQTs7QUFLRDtFQUVJLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RU01R1A7SU5zR007TUFJSSxzQkExS0U7VUEwS0Ysa0JBMUtFO2NBMEtGLGNBMUtFLEVBNEtMLEVBQUE7O0FNNUdQO0VOa0hBO0lHbFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVIa1A4QjtFQUc1QztJRzdPRix3QkFEOEI7SUFFOUIseUJBRjhCLEVIdVAyQixFQUFBOztBTS9IdkQ7RU51RUU7SUFDRSwyQklyTCtDO1FKcUwvQyx1QklyTCtDO1lKcUwvQyxtQklyTCtDO0lKc0wvQyxvQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLGdCRGJnQyxFSmlNM0I7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosc0JEVnFELEVKOExoRDtFQVZEO0lBQ0Usc0JJckwrQztRSnFML0Msa0JJckwrQztZSnFML0MsY0lyTCtDO0lKc0wvQyxlSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtFQVZEO0lBQ0UsNEJJckwrQztRSnFML0Msd0JJckwrQztZSnFML0Msb0JJckwrQztJSnNML0MscUJJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSixpQkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSw0QklyTCtDO1FKcUwvQyx3QklyTCtDO1lKcUwvQyxvQklyTCtDO0lKc0wvQyxxQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHVCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLHNCSXJMK0M7UUpxTC9DLGtCSXJMK0M7WUpxTC9DLGNJckwrQztJSnNML0MsZUl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHVCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosaUJEVnFELEVKOExoRDtFQVZEO0lBQ0UsNEJJckwrQztRSnFML0Msd0JJckwrQztZSnFML0Msb0JJckwrQztJSnNML0MscUJJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSix1QkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSxzQklyTCtDO1FKcUwvQyxrQklyTCtDO1lKcUwvQyxjSXJMK0M7SUpzTC9DLGVJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSix1QkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSw0QklyTCtDO1FKcUwvQyx3QklyTCtDO1lKcUwvQyxvQklyTCtDO0lKc0wvQyxxQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLGlCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtFQVZEO0lBQ0UsdUJJckwrQztRSnFML0MsbUJJckwrQztZSnFML0MsZUlyTCtDO0lKc0wvQyxnQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHVCRFZxRCxFSjhMaEQ7RUFLRDtJQXZHSixpQkFxR2dCO1FBckdoQixrQkFxR2dCO1lBckdoQixTQXFHZ0IsRUFJWDtFQUZEO0lBdkdKLGlCQXFHZ0I7UUFyR2hCLGtCQXFHZ0I7WUFyR2hCLFNBcUdnQixFQUlYO0VBRkQ7SUF2R0osaUJBcUdnQjtRQXJHaEIsa0JBcUdnQjtZQXJHaEIsU0FxR2dCLEVBSVg7RUFGRDtJQXZHSixpQkFxR2dCO1FBckdoQixrQkFxR2dCO1lBckdoQixTQXFHZ0IsRUFJWDtFQUZEO0lBdkdKLGlCQXFHZ0I7UUFyR2hCLGtCQXFHZ0I7WUFyR2hCLFNBcUdnQixFQUlYO0VBRkQ7SUF2R0osaUJBcUdnQjtRQXJHaEIsa0JBcUdnQjtZQXJHaEIsU0FxR2dCLEVBSVgsRUFBQTs7QU14Rkg7RU44Rkk7SUFDRSxzQkEvSk07UUErSk4sa0JBL0pNO1lBK0pOLGNBL0pNLEVBZ0tQLEVBQUE7O0FBTUM7RUFDRSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VNNUdQO0lOc0dNO01BSUksc0JBMUtFO1VBMEtGLGtCQTFLRTtjQTBLRixjQTFLRSxFQTRLTCxFQUFBOztBTTVHUDtFTmtIQTtJR2xQRixnQkFBZTtJQUNmLGlCQUFnQixFSGtQOEI7RUFHNUM7SUc3T0Ysd0JBRDhCO0lBRTlCLHlCQUY4QixFSHVQMkIsRUFBQTs7QU0vSHZEO0VOdUVFO0lBQ0UsMkJJckwrQztRSnFML0MsdUJJckwrQztZSnFML0MsbUJJckwrQztJSnNML0Msb0JJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSixnQkRiZ0MsRUppTTNCO0VBVkQ7SUFDRSw0QklyTCtDO1FKcUwvQyx3QklyTCtDO1lKcUwvQyxvQklyTCtDO0lKc0wvQyxxQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHNCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLHNCSXJMK0M7UUpxTC9DLGtCSXJMK0M7WUpxTC9DLGNJckwrQztJSnNML0MsZUl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLHVCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosaUJEVnFELEVKOExoRDtFQVZEO0lBQ0UsNEJJckwrQztRSnFML0Msd0JJckwrQztZSnFML0Msb0JJckwrQztJSnNML0MscUJJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSix1QkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSxzQklyTCtDO1FKcUwvQyxrQklyTCtDO1lKcUwvQyxjSXJMK0M7SUpzTC9DLGVJdEwrQyxFSnVMaEQ7RUFLRDtJS2xMSix1QkRWcUQsRUo4TGhEO0VBVkQ7SUFDRSw0QklyTCtDO1FKcUwvQyx3QklyTCtDO1lKcUwvQyxvQklyTCtDO0lKc0wvQyxxQkl0TCtDLEVKdUxoRDtFQUtEO0lLbExKLGlCRFZxRCxFSjhMaEQ7RUFWRDtJQUNFLDRCSXJMK0M7UUpxTC9DLHdCSXJMK0M7WUpxTC9DLG9CSXJMK0M7SUpzTC9DLHFCSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtFQVZEO0lBQ0Usc0JJckwrQztRSnFML0Msa0JJckwrQztZSnFML0MsY0lyTCtDO0lKc0wvQyxlSXRMK0MsRUp1TGhEO0VBS0Q7SUtsTEosdUJEVnFELEVKOExoRDtF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QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUNSMUI7O0F4RFJIO0VzRHNDRSxvQ0FGeUI7VUFFekIsNEJBRnlCLEVFaEJ4Qjs7QXhEbkJIO0VzRHFDRSxpQ0FGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUNSMUI7O0F4RFBIO0VzRHFDRSxvQ0FGeUI7VUFFekIsNEJBRnlCLEVFaEJ4Qjs7QUFkRDtFRmdDQSxpQ0FGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUNSMUI7O0F4RE5IO0VzRG9DRSxxQ0FGeUI7VUFFekIsNkJBRnlCLEVFaEJ4Qjs7QXhEakJIO0VzRG1DRSxpQ0FGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUNSMUI7O0F4RExIO0VzRG1DRSxxQ0FGeUI7VUFFekIsNkJBRnlCLEVFaEJ4Qjs7QUFkRDtFRmdDQSxXdERoQ2tDO0V5REFsQyw2QkFBNEIsRURFM0I7O0FBVUQ7RUZvQkEsV3REaENxQyxFd0RjcEM7O0FBZEQ7RUZnQ0EsV3REL0JrQztFeUREbEMsNkJBQTRCLEVERTNCOztBQVVEO0VGb0JBLFd0RC9CcUMsRXdEYXBDOztBeERWSDtFc0Q0QkUsdURJckNtQztVSnFDbkMsK0NJckNtQztFSnFDbkMsOEJ0RDVCbUQ7VXNENEJuRCxzQnRENUJtRDtFMkRHakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUN2QyxXQUEyQixFSE41Qjs7QXhERUg7RXNENEJFLG9ESVY0QztVSlU1Qyw0Q0lWNEM7RUNKMUMsV0FBMkIsRUhKNUI7O0F4RFRIO0VzRDJCRSx1RElwQ3FDO1VKb0NyQywrQ0lwQ3FDO0VKb0NyQyxnQ3REM0JxRDtVc0QyQnJELHdCdEQzQnFEO0UyREVuRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVITjVCOztBeERHSDtFc0QyQkUsb0RJVjRDO1VKVTVDLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QUFkRDtFRmdDQSxzREluQ2lDO1VKbUNqQyw4Q0luQ2lDO0VKbUNqQyxpQ3REMUJzRDtVc0QwQnRELHlCdEQxQnNEO0UyRENwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVITjVCOztBeERJSDtFc0QwQkUsb0RJVjRDO1VKVTVDLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QXhEUEg7RXNEeUJFLHNESWxDK0I7VUprQy9CLDhDSWxDK0I7RUprQy9CLCtCdER6Qm9EO1VzRHlCcEQsdUJ0RHpCb0Q7RTJEQWxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFDdkMsV0FBMkIsRUhONUI7O0F4REtIO0VzRHlCRSxvRElWNEM7VUpVNUMsNENJVjRDO0VDSjFDLFdBQTJCLEVISjVCOztBeEROSDtFc0R3QkUsdURJckNtQztVSnFDbkMsK0NJckNtQztFSnFDbkMsaUNJQ2U7VUpEZix5QklDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVITjVCOztBeERNSDtFc0R3QkUsb0RJVjRDO1VKVTVDLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QUFkRDtFRmdDQSx1RElwQ3FDO1VKb0NyQywrQ0lwQ3FDO0VKb0NyQyxpQ0lDZTtVSkRmLHlCSUNlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFDdkMsV0FBMkIsRUhONUI7O0FBVUQ7RUZvQkEsb0RJVjRDO1VKVTVDLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QUFkRDtFRmdDQSxvRElSOEM7VUpROUMsNENJUjhDO0VKUTlDLDhCdER0Qm1EO1VzRHNCbkQsc0J0RHRCbUQ7RTJESGpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0F4RFFIO0VzRHNCRSx1RElyQ21DO1VKcUNuQywrQ0lyQ21DO0VDdUJqQyxXQUE4QixFSEovQjs7QUFkRDtFRmdDQSxvRElSOEM7VUpROUMsNENJUjhDO0VKUTlDLGdDdERyQnFEO1VzRHFCckQsd0J0RHJCcUQ7RTJESm5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0F4RFNIO0VzRHFCRSx1RElwQ3FDO1VKb0NyQywrQ0lwQ3FDO0VDc0JuQyxXQUE4QixFSEovQjs7QUFkRDtFRmdDQSxvRElSOEM7VUpROUMsNENJUjhDO0VKUTlDLGlDdERwQnNEO1VzRG9CdEQseUJ0RHBCc0Q7RTJETHBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0FBVUQ7RUZvQkEsc0RJbkNpQztVSm1DakMsOENJbkNpQztFQ3FCL0IsV0FBOEIsRUhKL0I7O0F4RERIO0VzRG1CRSxvRElSOEM7VUpROUMsNENJUjhDO0VKUTlDLCtCdERuQm9EO1VzRG1CcEQsdUJ0RG5Cb0Q7RTJETmxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0FBVUQ7RUZvQkEsc0RJbEMrQjtVSmtDL0IsOENJbEMrQjtFQ29CN0IsV0FBOEIsRUhKL0I7O0F4REFIO0VzRGtCRSxvRElSOEM7VUpROUMsNENJUjhDO0VKUTlDLGlDSUNlO1VKRGYseUJJQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUN2QyxXQUE4QixFSE4vQjs7QUFVRDtFRm9CQSx1RElyQ21DO1VKcUNuQywrQ0lyQ21DO0VDdUJqQyxXQUE4QixFSEovQjs7QUFkRDtFRmdDQSxvRElSOEM7VUpROUMsNENJUjhDO0VKUTlDLGlDSUNlO1VKRGYseUJJQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUN2QyxXQUE4QixFSE4vQjs7QUFVRDtFRm9CQSx1RElwQ3FDO1VKb0NyQywrQ0lwQ3FDO0VDc0JuQyxXQUE4QixFSEovQjs7QXhESUg7RXNEY0UsOEJBRnlCO1VBRXpCLHNCQUZ5QjtFTTNCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUN2QyxXQUEyQixFSkY1Qjs7QUFVRDtFRm9CQSw0QkFGeUI7VUFFekIsb0JBRnlCO0VNaEJ2QixXQUEyQixFSkE1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dCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4xLjJcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIsIC5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciwgLnNsaWRlLWluLXVwLm11aS1lbnRlciwgLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciwgLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSwgLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUsIC5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLCAuc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLCAuZmFkZS1pbi5tdWktZW50ZXIsIC5mYWRlLW91dC5tdWktbGVhdmUsIC5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLCAuaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSwgLnNjYWxlLWluLXVwLm11aS1lbnRlciwgLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLCAuc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSwgLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSwgLnNwaW4taW4ubXVpLWVudGVyLCAuc3Bpbi1vdXQubXVpLWxlYXZlLCAuc3Bpbi1pbi1jY3cubXVpLWVudGVyLCAuc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZsYXJnZXI9NjQuMDYyNWVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiRUIgR2FyYW1vbmRcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogNzkuMzc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrIC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrIC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cubGFyZ2UtdW5zdGFjayAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZXItMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlci1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZXItMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2VyLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlci0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlci00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlci01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlci02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlci03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlci04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlci05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlci0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2VyLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZXItMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlci1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlci0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZXItb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZXItb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlci1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2VyLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZXItb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlci1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2VyLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZXItZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5sYXJnZXItdW5zdGFjayAuY29sdW1uLCAucm93Lmxhcmdlci11bnN0YWNrIC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLnJvdy5sYXJnZXItdW5zdGFjayAuY29sdW1uLCAucm93Lmxhcmdlci11bnN0YWNrIC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlci1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZXItY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlci11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlci11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5yb3cuYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5yb3cuYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJvdy5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5yb3cuYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLnJvdy5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCwgLmFsaWduLXRvcC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4ucm93LmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uY29sdW1uLmFsaWduLWJvdHRvbSwgLmFsaWduLWJvdHRvbS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLnJvdy5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jb2x1bW4uYWxpZ24tbWlkZGxlLCAuYWxpZ24tbWlkZGxlLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLnJvdy5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmNvbHVtbi5hbGlnbi1zdHJldGNoLCAuYWxpZ24tc3RyZXRjaC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzcmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA0LjA2MjVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDc5LjM3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzA3MDcwO1xuICBib3JkZXItbGVmdDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGNsZWFyOiBib3RoOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzcwNzA3MDsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICMyOTI5Mjk7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMyOTI5Mjk7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJzsgfVxuXG5hYmJyIHtcbiAgY29sb3I6ICMwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwOyB9XG5cbmNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MDcwNzA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxua2JkIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMjkyOTI5OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCwgLnBhZ2UtbWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlci10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlci10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2VyLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlci10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcwYmY0YTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODlkMzc7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTY5NjZhO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg3YTUxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICAgICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgIGNvbG9yOiAjZjJmMmYyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzc5Nzk3OTtcbiAgICAgICAgY29sb3I6ICM3OTc5Nzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MGJmNGE7XG4gICAgICBjb2xvcjogIzcwYmY0YTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM3NjIyMztcbiAgICAgICAgY29sb3I6ICMzNzYyMjM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTY5NjZhO1xuICAgICAgY29sb3I6ICNhNjk2NmE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzU1NGMzMztcbiAgICAgICAgY29sb3I6ICM1NTRjMzM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogMC4yZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MDcwNzA7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjkyOTI5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICM3MDcwNzA7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjViNWI1O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdsYWJlbCddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzMzMzsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYmFja2dyb3VuZDogI2I1YjViNTtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MDcwNzA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MDcwNzA7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYiUyODUxLCA1MSwgNTElMjlcIj48L3BvbHlnb24+PC9zdmc+Jyk7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjViNWI1O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjYsIDE1MCwgMTA2LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNhNjk2NmE7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2E2OTY2YTsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjYTY5NjZhOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlci1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZXItb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXI6IDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogMHB4OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzcwNzA3MDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcwYmY0YTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5ZDM3O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTY5NjZhO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4N2E1MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWY1ZTQ7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmVmZTk7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICMyOTI5Mjk7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtbGVmdC1hcnJvdy5vcGVucy1pbm5lciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtcmlnaHQtYXJyb3cub3BlbnMtaW5uZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudTpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUsIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM3MGJmNGE7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjYTY5NjZhO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSA+IGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgPiBpIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51ID4gbGkgPiBhID4gc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSA+IGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgPiBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5tZW51Lmxhcmdlci1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lmxhcmdlci12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgPiBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgPiBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5tZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4uanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNiNWI1YjU7XG4gIHotaW5kZXg6IC0xO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIGxlZnQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2VyIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZXIgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2VyIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MDcwNzA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjViNWI1OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICM3MDcwNzA7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfigKYnO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgY29udGVudDogJ8KrJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnwrsnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcwNzA3MDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcwYmY0YTsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTY5NjZhOyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MDcwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzA3MDcwO1xuICBtYXJnaW46IDYuMjVyZW0gYXV0byAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzkuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3OS4zNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3OS4zNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3OS4zNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7IH1cblxuLnN3aXRjaCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogIzcwNzA3MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMywgMTMsIDEzLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDApO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgdGhlYWQgdHIsXG4gICAgdGZvb3QgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB0aGVhZCB0aCxcbiAgICB0aGVhZCB0ZCxcbiAgICB0Zm9vdCB0aCxcbiAgICB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG5cbnRhYmxlLmhvdmVyIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzBkMGQwZDsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAudGh1bWJuYWlsOmhvdmVyLCAudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmYsIDAgMTRweCAwICNmZmY7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM3MDcwNzA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjNzA3MDcwLCAwIDE0cHggMCAjNzA3MDcwOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwLCAwIDE0cHggMCAjMDAwOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyOTI5Mjk7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMjkyOTI5LCAwIDE0cHggMCAjMjkyOTI5OyB9XG5cbi5oYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjMjkyOTI5O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDgwJTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnN0YWNrZWQtZm9yLXNtYWxsIC50b3AtYmFyLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3Itc21hbGwgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1zbWFsbCAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zdGFja2VkLWZvci1sYXJnZXIgLnRvcC1iYXItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1sYXJnZXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1sYXJnZXIgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnRvcC1iYXItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uIDpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTEuMjVweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5hY2NvcmRpb24gc3BhbiB7XG4gICAgZm9udC1zaXplOiA3LjVweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG5cbi5idXR0b24ge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBoZWlnaHQ6IDMuMjVyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDExLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeS5tZWRpdW0ge1xuICAgICAgbWluLXdpZHRoOiAxMHJlbTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLnByaW1hcnk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnkubWVkaXVtIHtcbiAgICAgIG1pbi13aWR0aDogOXJlbTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgY29sb3I6ICNhNjk2NmE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTY5NjZhO1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmJ1dHRvbi50ZXJ0aWFyeTpob3ZlciwgLmJ1dHRvbi50ZXJ0aWFyeTpmb2N1cywgLmJ1dHRvbi50ZXJ0aWFyeTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2E2OTY2YTsgfVxuICAgIC5idXR0b24udGVydGlhcnkuYnRuLWNvbnRhY3R1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICB0b3A6IDY5JTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtOyB9XG4gIC5idXR0b24uc3F1YXJlLWNvcm5lcnMge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuYnV0dG9uLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5mb3JtIGxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZvcm1fX2J1dHRvbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvcm1fX2J1dHRvbnMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwLjVyZW07IH1cblxuLmZvcm0gaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwJSk7IH1cblxuLmZvcm0gaW5wdXQuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSwgLmZvcm0gc2VsZWN0LmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyksIC5mb3JtIHRleHRhcmVhLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNlNDQyNDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmNhbGxvdXQuYWxlcnQge1xuICBib3JkZXItY29sb3I6ICNlNDQyNDI7XG4gIGNvbG9yOiAjZTQ0MjQyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5mb3JtLWludmVyc2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG4gIC5mb3JtLWludmVyc2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICNiNWI1YjU7XG4gICAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICM2MjYyNjI7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29udGVudDogXCJcXDI3MTNcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuXFwwIHtcbiAgICAgIC5mb3JtLWludmVyc2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIGxlZnQ6IC0ycHg7IH0gfVxuICAuZm9ybS1pbnZlcnNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCwgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMgKyBsYWJlbCwgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpob3ZlciB7XG4gICAgY29sb3I6ICNlMmUyZTI7IH1cblxuLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPXRleHRdLCAuZm9ybS1pbnZlcnNlIGlucHV0W3R5cGU9ZW1haWxdIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiA0cHggMTVweDsgfVxuXG4uZm9ybS1pbnZlcnNlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDsgfVxuICAuZm9ybS1pbnZlcnNlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjYjViNWI1O1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgIC5mb3JtLWludmVyc2UgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgYmFja2dyb3VuZDogIzYyNjI2MjtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIC5mb3JtLWludmVyc2UgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuMjVyZW07XG4gICAgICBsZWZ0OiAwLjI1cmVtO1xuICAgICAgd2lkdGg6IDAuNXJlbTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAuZm9ybS1pbnZlcnNlIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbCwgLmZvcm0taW52ZXJzZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0uZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLmZvcm0tbGFiZWwge1xuICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICNiNWI1YjU7IH1cblxuLmZvcm0tc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSc5JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA5IDUnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScwLDAgNC41LDQuNScgc3R5bGU9J3N0cm9rZS13aWR0aDogMXB4OyBzdHJva2U6YmxhY2s7JyAvJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc0LjUsNC41IDksMCcgc3R5bGU9J3N0cm9rZS13aWR0aDogMXB4OyBzdHJva2U6YmxhY2s7JyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4vKiBXRk0gc3R5bGluZyAqL1xuLnNjZlNpbmdsZUxpbmVHZW5lcmFsUGFuZWwsIC5zY2ZEcm9wTGlzdEdlbmVyYWxQYW5lbCwgLnNjZk11bHRpcGxlTGluZUdlbmVyYWxQYW5lbCwgLnNjZkVtYWlsR2VuZXJhbFBhbmVsIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uc2NmUmVxdWlyZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zY2ZFcnJvciwgLnNjZlZhbGlkYXRpb25TdW1tYXJ5LCAuc2NmVmFsaWRhdG9yUmVxdWlyZWQsIC5zY2ZWYWxpZGF0b3Ige1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLnNjZlNpbmdsZUxpbmVHZW5lcmFsUGFuZWwsIC5zY2ZFbWFpbEdlbmVyYWxQYW5lbCwgLnNjZkRyb3BMaXN0R2VuZXJhbFBhbmVsLCAuc2NmRHJvcExpc3RHZW5lcmFsUGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogIFRBS0UgVEhJUyEgICAgICAgICAgICAgICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxyXG4gKiBPd2wgQ2Fyb3VzZWwgdjIuMy40XHJcbiAqIENvcHlyaWdodCAyMDEzLTIwMTggRGF2aWQgRGV1dHNjaFxyXG4gKiBMaWNlbnNlZCB1bmRlcjogU0VFIExJQ0VOU0UgSU4gaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRVxyXG4gKi9cbi5vd2wtY2Fyb3VzZWwsIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtLCAub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgbWluLWhlaWdodDogMXB4O1xuICBmbG9hdDogbGVmdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQsIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1qcyAub3dsLWNhcm91c2VsLCAub3dsLWNhcm91c2VsLm93bC1sb2FkZWQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtZG90LCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICBiYWNrZ3JvdW5kOiAwIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLm93bC1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgLjVzIGVhc2UtaW4tb3V0OyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSksIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdIHtcbiAgbWF4LWhlaWdodDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKG93bC52aWRlby5wbGF5LnBuZykgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24sIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaW1nLWdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5pbWctZ2FsbGVyeSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmltZy1nYWxsZXJ5IGZpZ3VyZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbWctZ2FsbGVyeSBmaWd1cmU6aG92ZXIsIC5pbWctZ2FsbGVyeSBmaWd1cmU6Zm9jdXMge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaW1nLWdhbGxlcnkgZmlndXJlIHtcbiAgICAgICAgcGFkZGluZzogMTEuNSUgMCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAxMHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMTBweCAwOyB9IH1cbiAgICAuaW1nLWdhbGxlcnkgZmlndXJlIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5pbWctZ2FsbGVyeSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9IH1cblxuLmRpYWxvZ3MgLmRpYWxvZy1iYWNrZHJvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTAwMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjcsIDI3LCAyNywgMCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLmRpYWxvZ3MgLmRpYWxvZy1iYWNrZHJvcC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogcmdiYSgyNywgMjcsIDI3LCAwLjk1KTsgfVxuXG4uZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDUwMDA7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogNC41cmVtIDIuNXJlbSAyLjVyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgICAgcGFkZGluZzogMi41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbi5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHotaW5kZXg6IDUwMDA7XG4gIHJpZ2h0OiAxNXB4O1xuICB0b3A6IDRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2Uge1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2Uge1xuICAgICAgdG9wOiAycmVtOyB9IH1cbiAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHN2ZyB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICNmZmY7IH1cblxuLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlOmhvdmVyLCAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2U6Zm9jdXMge1xuICBvcGFjaXR5OiAuNTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kaWFsb2dzID4gZGl2ID4gZGl2ID4gZGl2IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ID4gZGl2IHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGlhbG9ncyA+IGRpdiA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qb3ZlcmZsb3c6aGlkZGVuOyovIH0gfVxuXG4uZGlhbG9ncyA+IGRpdiA+IGRpdiAuc2luZ2xlLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWF4LWhlaWdodDogOTE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAuc2luZ2xlLWl0ZW0ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgLnNpbmdsZS1pdGVtIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogOTE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb250YWluOyc7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDQwcHggMCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAuc2luZ2xlLWl0ZW0gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5kaWFsb2dzID4gZGl2ID4gZGl2IC5zaW5nbGUtaXRlbSBmaWdjYXB0aW9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG5cbi5kaWFsb2dzID4gZGl2ID4gZGl2ICNsYXJnZUNhcm91c2VsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDIwcHg7XG4gIG1hcmdpbjogNDBweCBhdXRvIDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAjbGFyZ2VDYXJvdXNlbCB7XG4gICAgICBoZWlnaHQ6IDY1NXB4OyB9IH1cbiAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciwgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1pdGVtIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAgMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAjbGFyZ2VDYXJvdXNlbCAub3dsLWl0ZW0gZmlndXJlID4gc3BhbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1pdGVtIGZpZ3VyZSA+IHNwYW4ge1xuICAgICAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICAgICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1pdGVtIGZpZ3VyZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvbnRhaW47JztcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDkwJSAtIDI0cHgpOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ICNsYXJnZUNhcm91c2VsIC5vd2wtaXRlbSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogOTAlOyB9IH1cbiAgICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ICNsYXJnZUNhcm91c2VsIC5vd2wtaXRlbSBmaWd1cmUgLnZpZGVvLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiA2Mi41JSAwIDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAjbGFyZ2VDYXJvdXNlbCAub3dsLWl0ZW0gZmlndXJlIC52aWRlby13cmFwIGlmcmFtZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ICNsYXJnZUNhcm91c2VsIC5vd2wtaXRlbSBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07IH1cbiAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1uYXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDVyZW0pO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAjbGFyZ2VDYXJvdXNlbCAub3dsLW5hdiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA4MHB4KTsgfSB9XG4gICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1uYXYgPiBidXR0b24ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDsgfVxuICAgICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1uYXYgPiBidXR0b246aG92ZXIsIC5kaWFsb2dzID4gZGl2ID4gZGl2ICNsYXJnZUNhcm91c2VsIC5vd2wtbmF2ID4gYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ICNsYXJnZUNhcm91c2VsIC5vd2wtbmF2ID4gYnV0dG9uIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAgICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI2xhcmdlQ2Fyb3VzZWwgLm93bC1uYXYgPiBidXR0b24gc3ZnIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICNmZmY7IH1cblxuLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI3RodW1ibmFpbENhcm91c2VsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ICN0aHVtYm5haWxDYXJvdXNlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5kaWFsb2dzID4gZGl2ID4gZGl2ICN0aHVtYm5haWxDYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAjdGh1bWJuYWlsQ2Fyb3VzZWwgLm93bC1pdGVtIC5pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDY2LjUlIDAgMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5kaWFsb2dzID4gZGl2ID4gZGl2ICN0aHVtYm5haWxDYXJvdXNlbCAub3dsLWl0ZW0gLml0ZW0gaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI3RodW1ibmFpbENhcm91c2VsIC5vd2wtaXRlbTpob3ZlciwgLmRpYWxvZ3MgPiBkaXYgPiBkaXYgI3RodW1ibmFpbENhcm91c2VsIC5vd2wtaXRlbTpmb2N1cyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnZpZC10aHVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudmlkLXRodW1iOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDIwcHggMCAyMHB4IDQwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbiN0aHVtYm5haWxDYXJvdXNlbCAudmlkLXRodW1iOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMjBweDsgfVxuXG4uc2luZ2xlLWltYWdlIGZpZ3VyZSB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5zaW5nbGUtaW1hZ2UgZmlndXJlOmhvdmVyLCAuc2luZ2xlLWltYWdlIGZpZ3VyZTpmb2N1cyB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zaW5nbGUtaW1hZ2UgZmlndXJlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9XG4gIC5zaW5nbGUtaW1hZ2UgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuaWNvbi5pcy1ncmF5IHtcbiAgICBmaWxsOiAjYjViNWI1OyB9XG4gIC5pY29uLmlzLWdyZWVuIHtcbiAgICBmaWxsOiAjNzBiZjRhOyB9XG4gIC5pY29uLmlzLWxpbmsge1xuICAgIGZpbGw6ICNhNjk2NmE7IH1cbiAgLmljb24uaXMtd2hpdGUge1xuICAgIGZpbGw6IHdoaXRlOyB9XG4gIC5pY29uLXh4c21hbGwge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDsgfVxuICAuaWNvbi14c21hbGwge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDsgfVxuICAuaWNvbi1zbWFsbCB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5pY29uLW1lZGl1bSB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4OyB9XG4gIC5pY29uLWlubGluZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmljb24taXMtbG9nbyB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiAzNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmljb24taXMtbG9nbyB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7IH0gfVxuXG4uaW1hZ2UtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5pbWFnZS1pY29ucyB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuaHRtbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cbiAgYm9keS5pcy1tZW51IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICBib2R5LmlzLW1lbnUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuc2VjdGlvbiB7XG4gIG1hcmdpbjogMi41cmVtIDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSB7XG4gIC5kZXNrdG9wLW9ubHkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmRlc2t0b3Atb25seS5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmx0LXByaW1hcnktYmctY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ubHQtc2Vjb25kYXJ5LWJnLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmx0LXRlcnRpYXJ5LWJnLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNiNWI1YjU7IH1cblxuLmx0LWZ1bGwtcm93IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5sdC1yb3ctY29sbGFwc2Uge1xuICBtYXgtd2lkdGg6IDc5LjM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmx0LXJvdy1jb2xsYXBzZTo6YmVmb3JlLCAubHQtcm93LWNvbGxhcHNlOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5sdC1yb3ctY29sbGFwc2U6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubHQtcm93LWNvbGxhcHNlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubHQtcm93LWNvbGxhcHNlLCAubHQtcm93LWNvbGxhcHNlOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5sdC1yb3ctY29sbGFwc2UgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5sdC1xdWF0ZXJuYXJ5LWJnLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmx0LXF1aW5hcnktYmctY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUExQTFBO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ubHQtbWFpbi1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA3OS4zNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAtOTBweDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmx0LW1haW4tY29udGVudDo6YmVmb3JlLCAubHQtbWFpbi1jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5sdC1tYWluLWNvbnRlbnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubHQtbWFpbi1jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubHQtbWFpbi1jb250ZW50LCAubHQtbWFpbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAubHQtbWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7IH0gfVxuXG4ubHQtc2VjdGlvbi1wYWRkaW5nLXhsYXJnZSB7XG4gIHBhZGRpbmc6IDQuNXJlbSAwOyB9XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmcteGxhcmdlLWFsbCB7XG4gICAgcGFkZGluZzogNC41cmVtOyB9XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmcteGxhcmdlID4gaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cblxuLmx0LXNlY3Rpb24tcGFkZGluZy1sYXJnZSB7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDA7IH1cbiAgLmx0LXNlY3Rpb24tcGFkZGluZy1sYXJnZS1hbGwge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDAuOTM3NXJlbTsgfVxuICAubHQtc2VjdGlvbi1wYWRkaW5nLWxhcmdlLXRvcCB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMCAwOyB9XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmctbGFyZ2UgPiBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuXG4ubHQtc2VjdGlvbi1wYWRkaW5nLW1lZGl1bSB7XG4gIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmctbWVkaXVtLWFsbCB7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sdC1zZWN0aW9uLXBhZGRpbmctbWVkaXVtLWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubHQtc2VjdGlvbi1wYWRkaW5nLW1lZGl1bS1yaWdodCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICAubHQtc2VjdGlvbi1wYWRkaW5nLW1lZGl1bSA+IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5sdC1zZWN0aW9uLXBhZGRpbmctc21hbGwge1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLmx0LXNlY3Rpb24tcGFkZGluZy1zbWFsbC1hbGwge1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgLmx0LXNlY3Rpb24tcGFkZGluZy1zbWFsbC1zaWRlcyB7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmctc21hbGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLmx0LXNlY3Rpb24tcGFkZGluZy1zbWFsbCA+IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5sdC1zZWN0aW9uLXBhZGRpbmcteHNtYWxsIHtcbiAgcGFkZGluZzogMC41cmVtIDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmctcmVtb3ZlLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4ubHQtc2VjdGlvbi1wYWRkaW5nLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5sdC1zZWN0aW9uLXBhZGRpbmctYm90dG9tLXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAubHQtc2VjdGlvbi1wYWRkaW5nLWJvdHRvbS1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuXG4ubHQtc2VjdGlvbi1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5sdC1zZWN0aW9uLXJvdW5kZWQtcmVtb3ZlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubHQtc2VjdGlvbi1ib3JkZXItcmVtb3ZlIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5sdC1zZWN0aW9uLWVxdWFsLXhzbWFsbCB7XG4gIG1hcmdpbi10b3A6IC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuXG4ubHQtc2VjdGlvbi1lcXVhbC1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmx0LXNlY3Rpb24tc3BhY2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAubHQtc2VjdGlvbi1zcGFjZXItbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIC5sdC1zZWN0aW9uLXNwYWNlci1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAubHQtc2VjdGlvbi1zcGFjZXItc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmx0LXNlY3Rpb24tc3BhY2VyLXNtYWxsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAubHQtc2VjdGlvbi1zcGFjZXItbWVkaXVtLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sdC1zZWN0aW9uLXNwYWNlci1yZW1vdmUtc21hbGwge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubHQtc2VjdGlvbi1zcGFjZXItcmVtb3ZlLW1lZGl1bSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfSB9XG5cbi5sdC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgcGFkZGluZy1yaWdodDogMHB4OyB9XG5cbi5sdC1jb2x1bW4tc2VwYXJhdG9yLCAubHQtY29sdW1uLXNlcGFyYXRvci1taWRkbGUsIC5sdC1jb2x1bW4tc2VwYXJhdG9yLXRvcCwgLmx0LWNvbHVtbi1zZXBhcmF0b3IteHNtYWxsLCAubHQtY29sdW1uLXNlcGFyYXRvci1zbWFsbCwgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWVkaXVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sdC1jb2x1bW4tc2VwYXJhdG9yLCAubHQtY29sdW1uLXNlcGFyYXRvci1taWRkbGUsIC5sdC1jb2x1bW4tc2VwYXJhdG9yLXRvcCwgLmx0LWNvbHVtbi1zZXBhcmF0b3IteHNtYWxsLCAubHQtY29sdW1uLXNlcGFyYXRvci1zbWFsbCwgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWVkaXVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubHQtY29sdW1uLXNlcGFyYXRvcjphZnRlciwgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWlkZGxlOmFmdGVyLCAubHQtY29sdW1uLXNlcGFyYXRvci10b3A6YWZ0ZXIsIC5sdC1jb2x1bW4tc2VwYXJhdG9yLXhzbWFsbDphZnRlciwgLmx0LWNvbHVtbi1zZXBhcmF0b3Itc21hbGw6YWZ0ZXIsIC5sdC1jb2x1bW4tc2VwYXJhdG9yLW1lZGl1bTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogM3JlbTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYjViNWI1O1xuICAgIGhlaWdodDogMTMwcHg7IH1cbiAgLmx0LWNvbHVtbi1zZXBhcmF0b3I6bGFzdC1jaGlsZDphZnRlciwgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWlkZGxlOmxhc3QtY2hpbGQ6YWZ0ZXIsIC5sdC1jb2x1bW4tc2VwYXJhdG9yLXRvcDpsYXN0LWNoaWxkOmFmdGVyLCAubHQtY29sdW1uLXNlcGFyYXRvci14c21hbGw6bGFzdC1jaGlsZDphZnRlciwgLmx0LWNvbHVtbi1zZXBhcmF0b3Itc21hbGw6bGFzdC1jaGlsZDphZnRlciwgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWVkaXVtOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWlkZGxlOmFmdGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICByaWdodDogMDsgfVxuICAubHQtY29sdW1uLXNlcGFyYXRvci10b3A6YWZ0ZXIge1xuICAgIHRvcDogMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcmlnaHQ6IDFyZW07IH1cbiAgLmx0LWNvbHVtbi1zZXBhcmF0b3IteHNtYWxsOmFmdGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNiNWI1YjU7XG4gICAgbWFyZ2luLXRvcDogLS43NXJlbTsgfVxuICAubHQtY29sdW1uLXNlcGFyYXRvci1zbWFsbCB7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubHQtY29sdW1uLXNlcGFyYXRvci1zbWFsbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbWVkaXVtOmFmdGVyIHtcbiAgICAgIGhlaWdodDogODRweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5sdC1jb2x1bW4tc2VwYXJhdG9yLWxhcmdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubHQtY29sdW1uLXNlcGFyYXRvci1sYXJnZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMnJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2I1YjViNTtcbiAgICAgIGhlaWdodDogMjE0cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAubHQtY29sdW1uLXNlcGFyYXRvci1sYXJnZTphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmx0LWNvbHVtbi1zZXBhcmF0b3ItbGFyZ2U6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5sdC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAubHQtY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5sdC1jb250ZW50LXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgLmx0LWNvbnRlbnQtcGFkZGluZy14bGFyZ2UtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubHQtY29udGVudC1wYWRkaW5nLXhsYXJnZS1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAubHQtY29udGVudC1zcGFjZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuLmx0LW5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubHQtbWlkZGxlLW1hcmdpbiB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5sdC1mb3JjZS1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4ubHQtZm9yY2UtbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5sdC1mb3JjZS1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cblxuLmx0LWZvcmNlLW1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cblxuLmx0LXNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmx0LXBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5sdC1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uanMgLmlzLWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gIC8qIElFNiwgSUU3ICovXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIFN0eWxlcyBmb3Igc2NyZWVucyB0aGF0IGFyZSBhdGxlYXN0IDc2OHB4OyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubGFyZ2UtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9IH1cblxuLmNvbHVtbi5mbGV4LWZ1bGwsIC5mbGV4LWZ1bGwuY29sdW1ucywgLmNvbHVtbnMuZmxleC1mdWxsIHtcbiAgLXdlYmtpdC1mbGV4OiAxIDEgMTAwJTtcbiAgLW1zLWZsZXg6IDEgMSAxMDAlO1xuICBmbGV4OiAxIDEgMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNtYWxsLWZsb2F0LWNlbnRlciB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uZ29Bd2F5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA5OTk5OTlweDsgfVxuXG4vKiBGaXggZm9yIGlQYWQgd2hlbiBkaXNwbGF5aW5nIFJldmVhbCBtb2RhbCB3aXRoIGxvdHMgb2YgY29udGVudCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSB7XG4gIC5pcGFkLXNjcm9sbGZpeCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLmlwYWQtbGFuZHNjYXBlLXNjcm9sbGZpeCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5pcGhvbmUtc2Nyb2xsZml4IHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgaGVpZ2h0OiAzODBweDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA2NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5pcGhvbmUtbGFuZHNjYXBlLXNjcm9sbGZpeCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9IH1cblxuLyogQ2xhc3MgZm9yIGZpeGluZyBSZWdpc3RlcmVkIHN5bWJvbCAqL1xuLnJlZ2lzdHJhdGlvbiB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogLjI1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5zaXRlbWFwIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnNpdGVtYXAgPiBsaSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgLnNpdGVtYXAgdWwgPiBsaSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAuc2l0ZW1hcCB1bCA+IGxpIHVsID4gbGkge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLnNpdGVtYXAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGxhcmdlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmZsb2F0LXJpZ2h0LXJlbW92ZS1tb2JpbGUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAudGFibGV0LWxhbmRzY2FwZSB7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNjY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAudGFibGV0LWxhbmRzY2FwZSAuYmFkZ2UtbWVkaXVtIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkge1xuICAuaGlkZS1mb3ItdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5saXN0LWlubGluZS1pdGVtcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwOyB9XG4gIC5saXN0LWlubGluZS1pdGVtcyA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubGlzdC1pbmxpbmUtaXRlbXMgPiBsaTphZnRlciB7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6ICNiNWI1YjU7IH1cbiAgICAubGlzdC1pbmxpbmUtaXRlbXMgPiBsaSBzdmcge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmxpc3QtaW5saW5lLWl0ZW1zID4gbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG5cbi5saXN0LXVuc3R5bGVkLCAuY2F0ZWdvcnktZGVzY3JpcHRpb24gdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4ubGlzdC1jaGVjay1ib3gge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGlzdC1jaGVjay1ib3ggPiBsaSB7XG4gICAgbWFyZ2luOiAwIDAgNHB4OyB9XG4gICAgLmxpc3QtY2hlY2stYm94ID4gbGk6OmJlZm9yZSwgLmxpc3QtY2hlY2stYm94ID4gbGk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmxpc3QtY2hlY2stYm94ID4gbGk6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3QtY2hlY2stYm94ID4gbGkgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogNnB4IDAgMCA2cHg7IH1cbiAgICAubGlzdC1jaGVjay1ib3ggPiBsaSAucm91bmRlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsgfVxuICAgICAgLmxpc3QtY2hlY2stYm94ID4gbGkgLnJvdW5kZWQgLnN3YXRjaCB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XG4gICAgICAgIC5saXN0LWNoZWNrLWJveCA+IGxpIC5yb3VuZGVkIC5zd2F0Y2g6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogN3B4O1xuICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmNmZmY0O1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAubGlzdC1jaGVjay1ib3ggPiBsaSAucm91bmRlZCAuc3dhdGNoOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC4zOyB9XG4gICAgICAubGlzdC1jaGVjay1ib3ggPiBsaSAucm91bmRlZCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogN3B4OyB9XG4gICAgICAgIC5saXN0LWNoZWNrLWJveCA+IGxpIC5yb3VuZGVkIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuc3dhdGNoOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5saXN0LWNoZWNrLWJveCA+IGxpIC5yb3VuZGVkIGlucHV0W3R5cGU9Y2hlY2tib3hdOm5vdCg6Y2hlY2tlZCkgKyAuc3dhdGNoIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7IH1cblxuLm5vLWJ1bGxldCB1bCwgLnBhZ2UtbWVudSB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDFyZW0gMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgICAgbWFyZ2luOiAxcmVtIDA7IH0gfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICBiYWNrZ3JvdW5kOiAwIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG4ub3dsLWNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlOyB9XG4gICAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenlbc3JjXj1cIlwiXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGN1cnNvcjogZ3JhYjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gICAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwob3dsLnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBlYXNlOyB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cyBlYXNlLWluLW91dDsgfVxuXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcm9wZXJ0eS1uYW1lIGgxIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnByb3BlcnR5LW5hbWUgaDEge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAucHJvcGVydHktbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5wcm9wZXJ0eS1jb250ZW50IC5pY29uIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTVweDsgfVxuXG4ucHJvcGVydHktY29udGVudDphZnRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBncmVlbjtcbiAgd2lkdGg6IDhyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwLjhyZW07IH1cblxuLnByb3BlcnR5LWltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wcm9wZXJ0eS1pbWFnZS1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5wcm9wZXJ0eS1pbWFnZS1mb290ZXIge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5wcm9wZXJ0eS1zeW1iYWwge1xuICBmbG9hdDogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnByb2plY3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cblxuLyoqQ0hPU0VOKiovXG4vKiBAZ3JvdXAgQmFzZSAqL1xuLmNob3Nlbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuY2hvc2VuLWNvbnRhaW5lciAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDEwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCgxMDAlIDEwMCUpOyB9XG4gIC5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1kcm9wIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTsgfVxuICAuY2hvc2VuLWNvbnRhaW5lciBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNob3Nlbi1jb250YWluZXIgLnNlYXJjaC1jaG9pY2UgLmdyb3VwLW5hbWUsIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tc2luZ2xlIC5ncm91cC1uYW1lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgIC5jaG9zZW4tY29udGFpbmVyIC5zZWFyY2gtY2hvaWNlIC5ncm91cC1uYW1lOmFmdGVyLCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXNpbmdsZSAuZ3JvdXAtbmFtZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgU2luZ2xlIENob3NlbiAqL1xuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDAgOHB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNmZmYgMjAlLCAjZjZmNmY2IDUwJSwgI2VlZSA1MiUsICNmNGY0ZjQgMTAwJSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggI2ZmZiBpbnNldCwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6ICM0NDQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZGVmYXVsdCB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1yaWdodDogMjZweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlLXdpdGgtZGVzZWxlY3Qgc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogMzhweDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJiciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiAyNnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiY2hvc2VuLXNwcml0ZS5wbmdcIikgLTQycHggMXB4IG5vLXJlcGVhdDtcbiAgZm9udC1zaXplOiAxcHg7IH1cbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGFiYnI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4tZGlzYWJsZWQgLmNob3Nlbi1zaW5nbGUgYWJicjpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHVybChcImNob3Nlbi1zcHJpdGUucG5nXCIpIG5vLXJlcGVhdCAwcHggMnB4OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAxMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAzcHggNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgICBwYWRkaW5nOiA0cHggMjBweCA0cHggNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiY2hvc2VuLXNwcml0ZS5wbmdcIikgbm8tcmVwZWF0IDEwMCUgLTIwcHg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLWRyb3Age1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUtbm9zZWFyY2ggLmNob3Nlbi1zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoMTAwJSAxMDAlKTsgfVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgUmVzdWx0cyAqL1xuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIHtcbiAgY29sb3I6ICM0NDQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW46IDAgNHB4IDRweCAwO1xuICBwYWRkaW5nOiAwIDAgMCA0cHg7XG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuICAgIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5hY3RpdmUtcmVzdWx0IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5kaXNhYmxlZC1yZXN1bHQge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM4NzVkNztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjMzg3NWQ3IDIwJSwgIzJhNjJiYyA5MCUpO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkubm8tcmVzdWx0cyB7XG4gICAgICBjb2xvcjogIzc3NztcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7IH1cbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuZ3JvdXAtcmVzdWx0IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLW9wdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkgZW0ge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIE11bHRpIENob3NlbiAqL1xuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAxJSwgI2ZmZiAxNSUpO1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgbWFyZ2luOiAxcHggMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHdpZHRoOiAyNXB4OyB9XG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzcHggNXB4IDNweCAwO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4IDNweCA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWUgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDE5cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAjZmZmIGluc2V0LCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Ugc3BhbiB7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiY2hvc2VuLXNwcml0ZS5wbmdcIikgLTQycHggMXB4IG5vLXJlcGVhdDtcbiAgICAgIGZvbnQtc2l6ZTogMXB4OyB9XG4gICAgICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4OyB9XG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWRpc2FibGVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlIDEwMCUpO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDRkNGQ0OyB9XG4gICAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZm9jdXMgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7IH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1yZXN1bHRzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tZHJvcCAucmVzdWx0LXNlbGVjdGVkIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjb2xvcjogI2NjYztcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBBY3RpdmUgICovXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1zaW5nbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAyMCUsICNmZmYgODAlKTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAjZmZmIGluc2V0OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4cHggMnB4OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgY29sb3I6ICMyMjIgIWltcG9ydGFudDsgfVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgRGlzYWJsZWQgU3VwcG9ydCAqL1xuLmNob3Nlbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLXNpbmdsZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5jaG9zZW4tZGlzYWJsZWQgLmNob3Nlbi1jaG9pY2VzIC5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIFJpZ2h0IHRvIExlZnQgKi9cbi5jaG9zZW4tcnRsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDAgOHB4IDAgMDsgfVxuICAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cbiAgLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUtd2l0aC1kZXNlbGVjdCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMzhweDsgfVxuICAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDNweDsgfVxuICAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSBhYmJyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAyNnB4OyB9XG4gIC5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAgIC5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHtcbiAgICAgIG1hcmdpbjogM3B4IDVweCAzcHggMDtcbiAgICAgIHBhZGRpbmc6IDNweCA1cHggM3B4IDE5cHg7IH1cbiAgICAgIC5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDRweDsgfVxuICAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMCAwIDRweCA0cHg7XG4gICAgcGFkZGluZzogMCA0cHggMCAwOyB9XG4gIC5jaG9zZW4tcnRsIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHBhZGRpbmc6IDRweCA1cHggNHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiY2hvc2VuLXNwcml0ZS5wbmdcIikgbm8tcmVwZWF0IC0zMHB4IC0yMHB4O1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gICAgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNnB4IDJweDsgfVxuICAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTJweCAycHg7IH1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIFJldGluYSBjb21wYXRpYmlsaXR5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpIHtcbiAgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBhYmJyLFxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIsXG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIC5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlLFxuICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMtc2Nyb2xsLWRvd24gc3BhbixcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzLXNjcm9sbC11cCBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJjaG9zZW4tc3ByaXRlQDJ4LnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTJweCAzN3B4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50OyB9IH1cblxuLyogQGVuZCAqL1xuLyoqVVRJTElUWSoqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi14cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zZWFyY2gtbWV0YSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLW1ldGEgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI3cHg7XG4gICAgdG9wOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuc2VhcmNoLW1ldGEgaW5wdXQge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggI2FhYTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLnNlYXJjaC1tZXRhIC5pY29uLXhzbWFsbCB7XG4gICAgd2lkdGg6IDIxcHg7XG4gICAgaGVpZ2h0OiAyMXB4OyB9XG5cbi8qRklMVEVSIENTUyovXG4uc2VhcmNoLW1ldGEuY29sdW1uIC50eXBlLWhlYWRlci14c21hbGwsIC5zZWFyY2gtbWV0YS5jb2x1bW5zIC50eXBlLWhlYWRlci14c21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4udG9nZ2xlLWl0ZW1zIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvZ2dsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZpbHRlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAycmVtIDFyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MzlweCkge1xuICAgIC5maWx0ZXIge1xuICAgICAgbWFyZ2luOiAycmVtIDJyZW0gMDsgfSB9XG4gIC5maWx0ZXIgLmJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IFF1aWNrc2FuZCxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2Utb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5maWx0ZXIgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgICBib3JkZXItY29sb3I6ICNhNjk2NmE7XG4gICAgICBjb2xvcjogI2E2OTY2YTsgfVxuICAgICAgLmZpbHRlciAuYnV0dG9uLnRlcnRpYXJ5OmhvdmVyLCAuZmlsdGVyIC5idXR0b24udGVydGlhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYTY5NjZhO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5maWx0ZXIgLmJ1dHRvbi5maWxsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTY5NjZhO1xuICAgICAgYmFja2dyb3VuZDogI2E2OTY2YTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZmlsdGVyIC5idXR0b24uZmlsbGVkOmhvdmVyLCAuZmlsdGVyIC5idXR0b24uZmlsbGVkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjYTY5NjZhOyB9XG4gICAgLmZpbHRlciAuYnV0dG9uLmJ0bi1jbGVhciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogI2E2OTY2YTsgfVxuICAgICAgLmZpbHRlciAuYnV0dG9uLmJ0bi1jbGVhcjpob3ZlciwgLmZpbHRlciAuYnV0dG9uLmJ0bi1jbGVhcjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuZmlsdGVyIC5idXR0b24uYnRuLWNsZWFyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZmlsdGVyIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cbiAgLmZpbHRlciBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmZpbHRlciBoNCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZpbHRlciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5maWx0ZXIgZm9ybSAuY29udGVudC10eXBlIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwIDIwcHggMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmlsdGVyIGZvcm0gLmNvbnRlbnQtdHlwZSAuY2hlY2tzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9IH1cbiAgLmZpbHRlciBmb3JtIC5jb250ZW50LXR5cGUgLmNoZWNrcyA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZpbHRlciBmb3JtIC5jb250ZW50LXR5cGUgLmNoZWNrcyA+IGRpdiB7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG4gIC5maWx0ZXIgZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmlsdGVyIGZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggMjNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmZpbHRlciBmb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyOmJlZm9yZSwgLmZpbHRlciBmb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuICAgICAgLmZpbHRlciBmb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjYWFhO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLmZpbHRlciBmb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyNzEzXCI7IH1cbiAgLmZpbHRlciBmb3JtIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggI2FhYTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBRdWlja3NhbmQsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiA3cHggMCA3cHggNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5maWx0ZXIgZm9ybSBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA5cHggMCA5cHggNXB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5maWx0ZXIgZm9ybSAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLmZpbHRlciBmb3JtIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgLmZpbHRlciBmb3JtIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICBtYXJnaW46IDAgNHB4IDRweCAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgNHB4OyB9XG4gICAgICAuZmlsdGVyIGZvcm0gLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7IH1cbiAgLmZpbHRlciBmb3JtIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBRdWlja3NhbmQsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiA3cHggMCA3cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLmZpbHRlciBmb3JtIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICBwYWRkaW5nLXRvcDogNHB4OyB9XG4gICAgLmZpbHRlciBmb3JtIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA3cHg7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZmlsdGVyIGZvcm0gLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5maWx0ZXIgZm9ybSAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGI6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgY29udGVudDogXCJcXGYxMDdcIjsgfVxuICAuZmlsdGVyIGZvcm0gLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpOmhvdmVyLCAuZmlsdGVyIGZvcm0gLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpOmZvY3VzLCAuZmlsdGVyIGZvcm0gLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLnJlc3VsdC1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZmlsdGVyIGZvcm0gLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG4gIC5maWx0ZXIgZm9ybSAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cbiAgLmZpbHRlciAuZGF0ZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZpbHRlciAuZGF0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZmlsdGVyIC5kYXRlID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmZpbHRlciAuZGF0ZSA+IGRpdiB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfSB9XG5cbi5zZWN0aW9uLXRpdGxlOmFmdGVyLCAuc2VjdGlvbi10aXRsZS1jZW50ZXJlZDphZnRlciwgLnNlY3Rpb24tdGl0bGUtbGVmdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB3aWR0aDogMjA1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB9XG5cbi5zZWN0aW9uLXRpdGxlLWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZWN0aW9uLXRpdGxlLWNlbnRlcmVkOmFmdGVyIHtcbiAgICBtYXJnaW46IDIwcHggYXV0bzsgfVxuXG4uc2VjdGlvbi10aXRsZS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc2VjdGlvbi10aXRsZS1zbWFsbDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogM3JlbTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwMDA7IH1cblxuLyoqQ09QWSBCRUxPVyoqL1xuLnN0YXRpY21hcCB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YXRpY21hcCB7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbjsgfSB9XG4gIC5zdGF0aWNtYXAgLmtleSB7XG4gICAgbWF4LXdpZHRoOiA2NTVweDtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjZDNkM2QzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVCIEdhcmFtb25kXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc3RhdGljbWFwIC5rZXkge1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE3cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyOyB9IH1cbiAgICAuc3RhdGljbWFwIC5rZXkgaDMge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogMCAwIDdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnN0YXRpY21hcCAua2V5IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9IH1cbiAgICAuc3RhdGljbWFwIC5rZXkgcCB7XG4gICAgICBtYXJnaW46IDAgMCA1cHggNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnN0YXRpY21hcCAua2V5IHAge1xuICAgICAgICAgIG1hcmdpbjogMCAxNXB4OyB9IH1cbiAgICAgIC5zdGF0aWNtYXAgLmtleSBwIC5kb3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxZDc4OGY7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAuc3RhdGljbWFwIC5rZXkgcCAuZG90IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuICAgICAgICAuc3RhdGljbWFwIC5rZXkgcCAuZG90OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAtNHB4O1xuICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgLnN0YXRpY21hcCAua2V5IHAgLmRvdDpiZWZvcmUge1xuICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICB0b3A6IC01cHg7IH0gfVxuICAgICAgICAuc3RhdGljbWFwIC5rZXkgcCAuZG90LmxpbmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAuc3RhdGljbWFwIC5rZXkgcCAuZG90LmxpbmUge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7IH0gfVxuICAgICAgICAgIC5zdGF0aWNtYXAgLmtleSBwIC5kb3QubGluZTpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzFkNzg4ZjsgfVxuICAuc3RhdGljbWFwIC5zdGF0aWNtYXAtaW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdGF0aWNtYXAgLnN0YXRpY21hcC1pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmRpYWxvZ3MgLmRpYWxvZy1iYWNrZHJvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTAwMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjcsIDI3LCAyNywgMCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLmRpYWxvZ3MgLmRpYWxvZy1iYWNrZHJvcC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogcmdiYSgyNywgMjcsIDI3LCAwLjk1KTsgfVxuXG4uZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDUwMDA7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogNC41cmVtIDIuNXJlbSAyLjVyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgICAgcGFkZGluZzogMi41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0ge1xuICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbi5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHotaW5kZXg6IDUwMDA7XG4gIHJpZ2h0OiAxNXB4O1xuICB0b3A6IDRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2Uge1xuICAgICAgcmlnaHQ6IDc1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2Uge1xuICAgICAgdG9wOiAycmVtOyB9IH1cbiAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHN2ZyB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICNmZmY7IH1cblxuLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlOmhvdmVyLCAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2U6Zm9jdXMge1xuICBvcGFjaXR5OiAuNTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGlhbG9ncyA+IGRpdiA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG4uZGlhbG9ncyA+IGRpdiA+IGRpdiAuc2luZ2xlLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAuc2luZ2xlLWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMjBweDsgfVxuICAuZGlhbG9ncyA+IGRpdiA+IGRpdiAuc2luZ2xlLWl0ZW0gZmlnY2FwdGlvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc2luZ2xlLWltYWdlIGZpZ3VyZSB7XG4gIG1heC13aWR0aDogNzQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5zaW5nbGUtaW1hZ2UgZmlndXJlOmhvdmVyLCAuc2luZ2xlLWltYWdlIGZpZ3VyZTpmb2N1cyB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zaW5nbGUtaW1hZ2UgZmlndXJlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zaW5nbGUtaW1hZ2UgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzIHtcbiAgbWF4LXdpZHRoOiA3OS4zNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50YWJzLXRpdGxlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGFicy10aXRsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAudGFicy10aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjYjViNWI1O1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnRhYnMtdGl0bGUge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAudGFicy10aXRsZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjsgfSB9XG4gICAgLnRhYnMtdGl0bGU6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogOC43NXB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC50YWJzLXRpdGxlID4gYS5hY3RpdmUsIC50YWJzLXRpdGxlID4gYTphY3RpdmUsIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjYTY5NjZhOyB9XG4gICAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2E2OTY2YTsgfVxuICAudGFicy52ZXJ0aWNhbCB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfVxuICAgIC50YWJzLnZlcnRpY2FsIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAudGFicy52ZXJ0aWNhbCB1bCBsaSBhIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAudGFicy52ZXJ0aWNhbCB1bCBsaSBhLmFjdGl2ZSwgLnRhYnMudmVydGljYWwgdWwgbGkgYTphY3RpdmUsIC50YWJzLnZlcnRpY2FsIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnRhYnMudmVydGljYWwgdWwgbGkgYTpmb2N1cywgLnRhYnMudmVydGljYWwgdWwgbGkgYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC50YWJzLnZlcnRpY2FsIHVsLmZhcS1xdWVzdGlvbnMgbGkge1xuICAgICAgdGV4dC1pbmRlbnQ6IC0xLjRlbTsgfVxuICAgICAgLnRhYnMudmVydGljYWwgdWwuZmFxLXF1ZXN0aW9ucyBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlFcIjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAudGFicy52ZXJ0aWNhbCB1bC5mYXEtcXVlc3Rpb25zIGxpLmlzLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLnRhYnMudmVydGljYWwgdWwuZmFxLXF1ZXN0aW9ucyBsaTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLnRhYnMtY29udGVudCB7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgLnRhYnMtY29udGVudCAubHQtc2VjdGlvbi1wYWRkaW5nLW1lZGl1bS1hbGwge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGFicy1wYW5lbCB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7IH0gfVxuXG4uZmFxLWFuc3dlcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2I1YjViNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZhcS1hbnN3ZXJzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmZhcS1hbnN3ZXJzIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZhcS1hbnN3ZXJzIHtcbiAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDBweDtcbiAgICAgIHJpZ2h0OiAwOyB9IH1cblxuLmV2ZW50cy10YWJzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmV2ZW50cy10YWJzIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZXZlbnRzLXRhYnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmV2ZW50cy10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiA5NzVweCkge1xuICAgICAgLmV2ZW50cy10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgICBmb250LXNpemU6IDYuMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIC50YWJsZSB0Ym9keSB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC50YWJsZSB0ciB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnRhYmxlLXNtYWxsIHRyIHRkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC40Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC40Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiA1cHg7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTsgfVxuICAgICAgLnRhYmxlLXNtYWxsIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjczNzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNTM3NXJlbTsgfVxuICAgICAgLnRhYmxlLXNtYWxsIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC43Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc21hbGwtdGFibGUge1xuICAgIHdpZHRoOiAzMTNweDtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNtYWxsLW92ZXJmbG93LXgge1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDsgfSB9XG5cbi5nbndfdGFibGVfYm9yZGVyX2NvbGxhcHNlIHRkIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbi5nbndfdmVydGljYWxfYWxpZ25fdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZ253X3ZlcnRpY2FsX2FsaWduX2JvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLmdud192ZXJ0aWNhbF9hbGlnbl9taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5nbndfYWxpZ25fbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmdud19hbGlnbl9yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5nbndfYWxpZ25fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5nbndfYWxpZ25fanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuLmdud19wYWRkaW5nX2xlZnRfbm9uZSB7XG4gIHBhZGRpbmctbGVmdDogMHB4OyB9XG5cbi5nbndfcGFkZGluZ19yaWdodF9ub25lIHtcbiAgcGFkZGluZy1yaWdodDogMHB4OyB9XG5cbi5nbndfYm9yZGVyX3RvcF9zb2xpZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDsgfVxuXG4uZ253X2JvcmRlcl90b3BfZG91YmxlIHtcbiAgYm9yZGVyLXRvcDogM3B4IGRvdWJsZTsgfVxuXG4uZ253X2JvcmRlcl9ib3R0b21fc29saWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cblxuLmdud19ib3JkZXJfYm90dG9tX2RvdWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDNweCBkb3VibGU7IH1cblxuLmdud19ib3JkZXJfbGVmdF9zb2xpZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7IH1cblxuLmdud19ib3JkZXJfbGVmdF9kb3VibGUge1xuICBib3JkZXItbGVmdDogM3B4IGRvdWJsZTsgfVxuXG4uZ253X2JvcmRlcl9yaWdodF9zb2xpZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9XG5cbi5nbndfYm9yZGVyX3JpZ2h0X2RvdWJsZSB7XG4gIGJvcmRlci1yaWdodDogM3B4IGRvdWJsZTsgfVxuXG4uZ253X2hlYWRpbmcsIC5nbndfY29saGVhZF91bGluZSwgLmdud19jb2xoZWFkX2RsaW5lLCAuZ253X3N1YmhlYWQsIC5nbndfY29saGVhZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZ253X2NvbGhlYWRfdWxpbmUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cblxuLmdud19jb2xoZWFkX2RsaW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IGRvdWJsZTsgfVxuXG4uZ253X2xhYmVsLCAuZ253X2xhYmVsX3VsaW5lLCAuZ253X2xhYmVsX3VsaW5lX2kxMCwgLmdud19sYWJlbF91bGluZV9pMTUsIC5nbndfbGFiZWxfdWxpbmVfaTIwLCAuZ253X2xhYmVsX3VsaW5lX2kyNSwgLmdud19sYWJlbF91bGluZV9pMzAsIC5nbndfbGFiZWxfdWxpbmV0b3AsIC5nbndfbGFiZWxfZGxpbmUsIC5nbndfbGFiZWxfZGxpbmVfaTEwLCAuZ253X2xhYmVsX2RsaW5lX2kxNSwgLmdud19sYWJlbF9kbGluZV9pMjAsIC5nbndfbGFiZWxfZGxpbmVfaTI1LCAuZ253X2xhYmVsX2RsaW5lX2kzMCwgLmdud19sYWJlbF9pMTAsIC5nbndfbGFiZWxfaTE1LCAuZ253X2xhYmVsX2kyMCwgLmdud19sYWJlbF9pMjUsIC5nbndfbGFiZWxfaTMwIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZ253X2xhYmVsX3VsaW5lLCAuZ253X2xhYmVsX3VsaW5lX2kxMCwgLmdud19sYWJlbF91bGluZV9pMTUsIC5nbndfbGFiZWxfdWxpbmVfaTIwLCAuZ253X2xhYmVsX3VsaW5lX2kyNSwgLmdud19sYWJlbF91bGluZV9pMzAsIC5nbndfbGFiZWxfdWxpbmV0b3Age1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfVxuICAgIC5nbndfbGFiZWxfdWxpbmVfaTEwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5nbndfbGFiZWxfdWxpbmVfaTE1IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgIC5nbndfbGFiZWxfdWxpbmVfaTIwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIC5nbndfbGFiZWxfdWxpbmVfaTI1IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIC5nbndfbGFiZWxfdWxpbmVfaTMwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAgIC5nbndfbGFiZWxfdWxpbmV0b3Age1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuZ253X2xhYmVsX2RsaW5lLCAuZ253X2xhYmVsX2RsaW5lX2kxMCwgLmdud19sYWJlbF9kbGluZV9pMTUsIC5nbndfbGFiZWxfZGxpbmVfaTIwLCAuZ253X2xhYmVsX2RsaW5lX2kyNSwgLmdud19sYWJlbF9kbGluZV9pMzAge1xuICAgIGJvcmRlci1ib3R0b206IDNweCBkb3VibGU7IH1cbiAgICAuZ253X2xhYmVsX2RsaW5lX2kxMCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAuZ253X2xhYmVsX2RsaW5lX2kxNSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAuZ253X2xhYmVsX2RsaW5lX2kyMCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAuZ253X2xhYmVsX2RsaW5lX2kyNSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuZ253X2xhYmVsX2RsaW5lX2kzMCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgLmdud19sYWJlbF9pMTAge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAuZ253X2xhYmVsX2kxNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5nbndfbGFiZWxfaTIwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgLmdud19sYWJlbF9pMjUge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAuZ253X2xhYmVsX2kzMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi5nbndfbnVtIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmdud19udW1fdWxpbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cbiAgICAuZ253X251bV91bGluZXRvcCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOyB9XG4gIC5nbndfbnVtX2RsaW5lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IGRvdWJsZTsgfVxuICAgIC5nbndfbnVtX2RsaW5ldG9wIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBib3JkZXItdG9wOiAzcHggZG91YmxlOyB9XG5cbi5nbndfZGF0YSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5nbndfZGF0YV91bGluZSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfVxuICAgIC5nbndfZGF0YV91bGluZXRvcCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOyB9XG4gIC5nbndfZGF0YV9kbGluZSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBkb3VibGU7IH1cbiAgICAuZ253X2RhdGFfZGxpbmV0b3Age1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJvcmRlci10b3A6IDNweCBkb3VibGU7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbnAgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4udHlwZS1oZWFkZXIteHhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudHlwZS1oZWFkZXIteHhsYXJnZSB7XG4gICAgICBmb250LXNpemU6IDQwLjYyNXB4O1xuICAgICAgZm9udC1zaXplOiA0LjA2MjVyZW07IH0gfVxuXG4udHlwZS1oZWFkZXIteGxhcmdlIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50eXBlLWhlYWRlci14bGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiA0MC42MjVweDtcbiAgICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtOyB9IH1cblxuLnR5cGUtaGVhZGVyLWxhcmdlIHtcbiAgZm9udC1zaXplOiAyMi41cHg7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnR5cGUtaGVhZGVyLWxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjIuNXB4O1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cblxuLnR5cGUtaGVhZGVyLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMTYuMjVweDtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnR5cGUtaGVhZGVyLW1lZGl1bSB7XG4gICAgICBmb250LXNpemU6IDE2LjI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cblxuLnR5cGUtaGVhZGVyLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50eXBlLWhlYWRlci1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDExLjI1cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLnR5cGUtaGVhZGVyLXhzbWFsbCB7XG4gIGZvbnQtc2l6ZTogNy41cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnR5cGUtaGVhZGVyLXhzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDguNzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4udHlwZS1oZWFkZXIteHhzbWFsbCB7XG4gIGZvbnQtc2l6ZTogNi4yNXB4O1xuICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudHlwZS1oZWFkZXIteHhzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDcuNXB4O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuLnR5cGUtaGVhZGVyLWFjY2VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50eXBlLWhlYWRlci1hY2NlbnQ6YmVmb3JlLCAudHlwZS1oZWFkZXItYWNjZW50OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjViNWI1OyB9XG4gIC50eXBlLWhlYWRlci1hY2NlbnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtNTAlIC0gMXJlbSk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnR5cGUtaGVhZGVyLWFjY2VudDphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLnR5cGUtaGVhZGVyLXNlY3Rpb246YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgd2lkdGg6IDIwNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgfVxuXG4udHlwZS1oZWFkZXItc2VjdGlvbi5pcy1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAudHlwZS1oZWFkZXItc2VjdGlvbi5pcy1jZW50ZXJlZDphZnRlciB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87IH1cblxuLnR5cGUtaGVhZGVyLXNlY3Rpb24uaXMtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnR5cGUtaGVhZGVyLXNlY3Rpb24uaXMtc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50eXBlLWhlYWRlci1zZWN0aW9uLmlzLXNtYWxsOmFmdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgd2lkdGg6IDkwcHg7IH1cblxuLnR5cGUtaGVhZGVyLXNlY3Rpb24uaXMtZ3JheTphZnRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNzA3MDcwO1xuICBtYXJnaW4tdG9wOiAwLjc1ZW07IH1cblxuLnR5cGUtaGVhZGVyLWJyZWFrLXdvcmQge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudHlwZS1oZWFkZXItYnJlYWstd29yZCB7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7IH0gfVxuXG4udHlwZS1hcnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAudHlwZS1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2E2OTY2YTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAwOyB9XG5cbi50eXBlLXh4bGFyZ2Uge1xuICBmb250LXNpemU6IDY4Ljc1cHg7XG4gIGZvbnQtc2l6ZTogNi44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50eXBlLXh4bGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiAxMDkuMzc1cHg7XG4gICAgICBmb250LXNpemU6IDEwLjkzNzVyZW07IH0gfVxuXG4udHlwZS14bGFyZ2Uge1xuICBmb250LXNpemU6IDE2LjI1cHg7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnR5cGUtbGFyZ2Uge1xuICBmb250LXNpemU6IDExLjI1cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnR5cGUtbWVkaXVtIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi50eXBlLXNtYWxsIHtcbiAgZm9udC1zaXplOiA3LjVweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudHlwZS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDguNzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4udHlwZS14c21hbGwge1xuICBmb250LXNpemU6IDYuMjVweDtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4udHlwZS14eHNtYWxsIHtcbiAgZm9udC1zaXplOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC41cmVtOyB9XG5cbi50eXBlLWJvbGQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50eXBlLWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50eXBlLWFsaWduLWNlbnRlciwgLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50eXBlLWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC50eXBlLWFsaWduLWxlZnQtc21hbGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfSB9XG5cbi50eXBlLWRhdGUge1xuICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogOC43NXB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM3MDcwNzA7IH1cblxuLnR5cGUtbGVnYWwge1xuICBmb250LXNpemU6IDYuMjVweDtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6ICM3MDcwNzA7IH1cblxuLnR5cGUtcHJpbWFyeSB7XG4gIGZvbnQtZmFtaWx5OiBcIkVCIEdhcmFtb25kXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjsgfVxuXG4udHlwZS1zZWNvbmRhcnksIC5icmVhZGNydW1icyBsaSAuYmMtdHlwZS1zZWNvbmRhcnksIC5uZXdzLWJsdXJiIC5oZWFkbGluZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4udHlwZS1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnR5cGUtbWVkaXVtLWNvbG9yIHtcbiAgY29sb3I6ICM3MDcwNzA7IH1cblxuLnR5cGUtZGFyay1jb2xvciB7XG4gIGNvbG9yOiAjMjkyOTI5OyB9XG5cbi50eXBlLWNvbG9yLXByaW1hcnkge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4udHlwZS1jb2xvci1zZWNvbmRhcnkge1xuICBjb2xvcjogI2YyZjJmMjsgfVxuXG4udHlwZS1jb2xvci10ZXJ0aWFyeSB7XG4gIGNvbG9yOiAjYTY5NjZhOyB9XG5cbi50eXBlLWNvbG9yLXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi50eXBlLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnR5cGUtcGFnZS1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC50eXBlLXBhZ2UtaGVhZGluZzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbi50eXBlLXBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi50eXBlLWFjY2VudDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzAwMDtcbiAgd2lkdGg6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDAuNWVtOyB9XG5cbi50eXBlLXVuZGVyLWRhc2g6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwLjg3NXJlbSBhdXRvIDFyZW0gLTEwcHg7IH1cblxuLnR5cGUtbGluayB7XG4gIGNvbG9yOiAjYTY5NjZhOyB9XG4gIC50eXBlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiBibGFjazsgfVxuXG4uYmFjay10by10b3Age1xuICBkaXNwbGF5OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDFyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAjZmZmOyB9XG4gIC5iYWNrLXRvLXRvcCBzcGFuIHtcbiAgICBmb250LXNpemU6IDcuNXB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uYmFkZ2Uge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5iYWRnZS5uby1hY2NlbnQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJhZGdlLW1lZGl1bSB7XG4gICAgaGVpZ2h0OiAyMTRweDtcbiAgICB3aWR0aDogMjE0cHg7IH1cbiAgLmJhZGdlLWxhcmdlIHtcbiAgICB3aWR0aDogMjQ2cHg7XG4gICAgaGVpZ2h0OiAyNDZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5iYWRnZS1sYXJnZS1yZXNwb25zaXZlIHtcbiAgICAgICAgaGVpZ2h0OiAyMDVweDtcbiAgICAgICAgd2lkdGg6IDIwNXB4OyB9XG4gICAgICAgIC5iYWRnZS1sYXJnZS1yZXNwb25zaXZlIC5zdGF0LWZpZ3VyZS5pcy1sYXJnZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDY2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuYmFkZ2UtbGFyZ2UtcmVzcG9uc2l2ZSB7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgICBoZWlnaHQ6IDE2MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5iYWRnZS1sYXJnZS1yZXNwb25zaXZlIC5zdGF0IHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogODAlOyB9IH1cbiAgLmJhZGdlLWJvcmRlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I1YjViNTsgfVxuICAuYmFkZ2UuaXMtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIGhlaWdodDogMzYycHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIGhlaWdodDogNTUwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDY2N3B4KSB7XG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIGhlaWdodDogMzYycHg7IH0gfVxuXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYW5uZXItYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgIC5iYW5uZXItYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMzYycHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAuYmFubmVyLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDU1MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA2NjdweCkge1xuICAgICAgLmJhbm5lci1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzNjJweDsgfSB9XG4gICAgLmJhbm5lci1iYWNrZ3JvdW5kLWltYWdlIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmJhbm5lci1iYWNrZ3JvdW5kLWltYWdlIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjYyNWVtKSB7XG4gICAgICAgIC5iYW5uZXItYmFja2dyb3VuZC1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuYmFubmVyLWJhY2tncm91bmQtaW1hZ2UuZm9jdXNwb2ludCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYmFubmVyLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNzkuMzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgICAuYmFubmVyLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmctdG9wOiAzNHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5iYW5uZXItY29udGVudCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA1MXB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJhbm5lci1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDQ1cHg7IH0gfVxuICAuYmFubmVyLXNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5iYW5uZXItc21hbGwgLmJhbm5lci1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIGhlaWdodDogMjU0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJhbm5lci1zbWFsbCAuYmFubmVyLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogMjAzcHg7IH0gfVxuICAgICAgLmJhbm5lci1zbWFsbCAuYmFubmVyLWJhY2tncm91bmQtaW1hZ2UgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmJhbm5lci1zbWFsbCAuYmFubmVyLWJhY2tncm91bmQtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuYmFubmVyLXNtYWxsIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAuYmFubmVyLWltYWdlLWNhcHRpb24ge1xuICAgIG1hcmdpbjogMzBweCAwIDA7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIj5cIjtcbiAgICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgICB0b3A6IDBweDtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICAgICAgZm9udC1zaXplOiA3LjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC5icmVhZGNydW1icyBsaSAuYmMtdHlwZS1zZWNvbmRhcnkge1xuICAgICAgY29sb3I6IGdyYXk7XG4gICAgICBmb250LWZhbWlseTogXCJMYXRvXCI7IH1cbiAgLmJyZWFkY3J1bWJzIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgY29sb3I6ICM3MDcwNzA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIGEgc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuI2NhbGVuZGFyIC5jbG5kciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNjYWxlbmRhciAuY2xuZHIgLmNsbmRyLWNvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweCAxMHB4OyB9XG4gICAgI2NhbGVuZGFyIC5jbG5kciAuY2xuZHItY29udHJvbHMgLmRhdGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgI2NhbGVuZGFyIC5jbG5kciAuY2xuZHItY29udHJvbHMgLmRhdGUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjOGI4YjhiOyB9XG4gICNjYWxlbmRhciAuY2xuZHI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMnB4IDAgMTJweCAxMXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzcHg7XG4gICAgcmlnaHQ6IC0xMXB4OyB9XG4gICNjYWxlbmRhciAuY2xuZHIgLmNsbmRyLWdyaWQgLmRheXMtb2YtdGhlLXdlZWsgLmhlYWRlci1kYXlzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI2NhbGVuZGFyIC5jbG5kciAuY2xuZHItZ3JpZCAuZGF5cy1vZi10aGUtd2VlayAuaGVhZGVyLWRheXMgLmhlYWRlci1kYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTQuMjglO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgI2NhbGVuZGFyIC5jbG5kciAuY2xuZHItZ3JpZCAuZGF5cy1vZi10aGUtd2VlayAuZGF5cyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNjYWxlbmRhciAuY2xuZHIgLmNsbmRyLWdyaWQgLmRheXMtb2YtdGhlLXdlZWsgLmRheXM6YmVmb3JlIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgI2NhbGVuZGFyIC5jbG5kciAuY2xuZHItZ3JpZCAuZGF5cy1vZi10aGUtd2VlayAuZGF5cyAuZGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE0LjI4JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTVweCA3LjVweDsgfVxuICAgICAgI2NhbGVuZGFyIC5jbG5kciAuY2xuZHItZ3JpZCAuZGF5cy1vZi10aGUtd2VlayAuZGF5cyAuZGF5IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAjY2FsZW5kYXIgLmNsbmRyIC5jbG5kci1ncmlkIC5kYXlzLW9mLXRoZS13ZWVrIC5kYXlzIC5kYXkudG9kYXkgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNjk1NzI7IH1cbiAgICAgICNjYWxlbmRhciAuY2xuZHIgLmNsbmRyLWdyaWQgLmRheXMtb2YtdGhlLXdlZWsgLmRheXMgLmRheS5ldmVudCBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2E2OTU3MjsgfVxuXG4ub3JiaXQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzNjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yYml0IHtcbiAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAub3JiaXQge1xuICAgICAgaGVpZ2h0OiAzNjJweDsgfSB9XG4gIC5vcmJpdC1uZXh0IHtcbiAgICByaWdodDogOHB4OyB9XG4gIC5vcmJpdC1uZXh0LCAub3JiaXQtcHJldmlvdXMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmJpdC1uZXh0LCAub3JiaXQtcHJldmlvdXMge1xuICAgICAgICB3aWR0aDogNTZweDsgfSB9XG4gICAgLm9yYml0LW5leHQ6aG92ZXI6YmVmb3JlLCAub3JiaXQtbmV4dDpob3ZlcjphZnRlciwgLm9yYml0LXByZXZpb3VzOmhvdmVyOmJlZm9yZSwgLm9yYml0LXByZXZpb3VzOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZjJmMmYyOyB9XG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vcmJpdC5pbnRlcmlvciBuYXYub3JiaXQtYnVsbGV0cyB7XG4gICAgICBib3R0b206IDkwcHg7IH0gfVxuICAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IDVweDsgfVxuICAgIC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgICAgd2lkdGg6IDAuNzVyZW07XG4gICAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IH1cbiAgICAgIC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLm9yYml0LnNpbmdsZSAub3JiaXQtYnVsbGV0cywgLm9yYml0LnNpbmdsZSAub3JiaXQtbmV4dCwgLm9yYml0LnNpbmdsZSAub3JiaXQtcHJldmlvdXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9yYml0IC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5jYXRlZ29yeS1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDAgMi41cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY2F0ZWdvcnktZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY2F0ZWdvcnktZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuY2F0ZWdvcnktZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jYXRlZ29yeS1kZXNjcmlwdGlvbiAuYmFkZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHVsIHtcbiAgICAgIG1hcmdpbjogMCAxcmVtOyB9IH1cbiAgLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgICAuY2F0ZWdvcnktZGVzY3JpcHRpb24gdWwgbGk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgICBtYXJnaW46IDI4cHggYXV0byAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgIC5jYXRlZ29yeS1kZXNjcmlwdGlvbiB1bCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRhdGUtdGl0bGUgdGFibGUgdHIgdGQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5maWx0ZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5maWx0ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDY2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7IH0gfVxuXG4uZmlsdGVyLWJhciB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5maWx0ZXItc2VsZWN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjNzA3MDcwO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIG1pbi13aWR0aDogOHJlbTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5maWx0ZXItc2VsZWN0IDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzknIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDkgNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAsMCA0LjUsNC41JyBzdHlsZT0nc3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTpibGFjazsnIC8lM0UlM0Nwb2x5bGluZSBwb2ludHM9JzQuNSw0LjUgOSwwJyBzdHlsZT0nc3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTpibGFjazsnIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZpbHRlci1zZWxlY3Q6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udGh1bWJuYWlsLWdyaWQgLnRodW1ibmFpbCwgLmxpc3QtZ3JpZCAudGh1bWJuYWlsIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi50aHVtYm5haWwtZ3JpZCBhLCAubGlzdC1ncmlkIGEge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnRodW1ibmFpbC1ncmlkIGEuaGFzLWN1cnNvciwgLmxpc3QtZ3JpZCBhLmhhcy1jdXJzb3Ige1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50aHVtYm5haWwtZ3JpZCBhLmhhcy1jdXJzb3IgLnRodW1ibmFpbCwgLmxpc3QtZ3JpZCBhLmhhcy1jdXJzb3IgLnRodW1ibmFpbCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnRodW1ibmFpbC1ncmlkIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAudGh1bWJuYWlsLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4ubGlzdC1ncmlkIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAubGlzdC1ncmlkIC5saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgaGVpZ2h0OiAyMzZweDtcbiAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDExcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgLmxpc3QtZ3JpZCAubGlzdC1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAubGlzdC1ncmlkIC5saXN0LWl0ZW0uaGFzLWN1cnNvcjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5saXN0LWdyaWQgLmxpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDExcHg7XG4gICAgICAgIGhlaWdodDogMTQ1cHg7IH0gfVxuICAgIC5saXN0LWdyaWQgLmxpc3QtaXRlbSAuZmVhdHVyZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saXN0LWdyaWQgLmxpc3QtaXRlbSAuZmVhdHVyZWQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5saXN0LWdyaWQgLmxpc3QtaXRlbSAuZmVhdHVyZWQgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubGlzdC1ncmlkIC5saXN0LWl0ZW0gLnByb3BlcnR5LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07IH1cbiAgICAgICAgLmxpc3QtZ3JpZCAubGlzdC1pdGVtIC5wcm9wZXJ0eS10aXRsZSBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiA2LjI1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAgICAgLmxpc3QtZ3JpZCAubGlzdC1pdGVtIC5wcm9wZXJ0eS10aXRsZSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDYuMjVweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cbiAgLmxpc3QtZ3JpZCAubGlzdC10aHVtYm5haWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0LWdyaWQgLmxpc3QtdGh1bWJuYWlsIHtcbiAgICAgICAgZmxleDogMCAwIDIwLjgzMzMzJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICAgIC5saXN0LWdyaWQgLmxpc3QtdGh1bWJuYWlsLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5saXN0LWdyaWQgLmxpc3QtdGh1bWJuYWlsLmZsb2F0LXJpZ2h0IC50aHVtYm5haWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5saXN0LWdyaWQgLmxpc3QtdGh1bWJuYWlsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTFweDsgfSB9XG4gIC5saXN0LWdyaWQgLmxpc3Qtc3RhdCB7XG4gICAgZmxleDogMCAwIDE0LjU4MzMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWF4LXdpZHRoOiAxNC41ODMzMyU7XG4gICAgbWFyZ2luLXRvcDogLTAuN3JlbTsgfVxuXG4uZmlsdGVyLXNlbGVjdCBoNCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uZmlsdGVyLXR5cGUge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmZpbHRlci10eXBlIC5pY29uIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgICAuZmlsdGVyLXR5cGUgLmljb24uYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnBvcHVwLWZpbHRlci1kaWFsb2cge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDQ1cHg7XG4gIHRvcDogMTAwcHg7XG4gIHdpZHRoOiA5MDBweDsgfVxuICAucG9wdXAtZmlsdGVyLWRpYWxvZy1zbWFsbCB7XG4gICAgdG9wOiA1MHB4O1xuICAgIHdpZHRoOiAyNzVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5wb3B1cC1maWx0ZXItZGlhbG9nLW1lZGl1bSB7XG4gICAgdG9wOiA1MHB4O1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5wb3B1cC1maWx0ZXItZGlhbG9nIC5hcnJvdy11cCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci13aWR0aDogMXJlbTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnJlbTtcbiAgICBsZWZ0OiAyLjYyNXJlbTsgfVxuICAucG9wdXAtZmlsdGVyLWRpYWxvZyAuYXJyb3ctdXAtcmlnaHQge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDFyZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTJyZW07XG4gICAgcmlnaHQ6IDIuNjI1cmVtOyB9XG4gIC5wb3B1cC1maWx0ZXItZGlhbG9nIC5hcnJvdy1kb3duIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwIHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0ycmVtO1xuICAgIHJpZ2h0OiAyLjYyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5wb3B1cC1maWx0ZXItZGlhbG9nIC5mb3JtX19idXR0b25zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5wb3B1cC1maWx0ZXItZGlhbG9nIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogNzVweDsgfVxuICAgICAgLnBvcHVwLWZpbHRlci1kaWFsb2cgaDIudHlwZS1oZWFkZXItbWVkaXVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICAgIC5wb3B1cC1maWx0ZXItZGlhbG9nIC5hcnJvdy11cCB7XG4gICAgICAgIGxlZnQ6IDUuNXJlbTsgfSB9XG5cbi5wb3B1cC1maWx0ZXItZGlhbG9nLm9wZW5lZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxOyB9XG5cbi5jbG9zZS1wb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jbG9zZS1wb3B1cDo6YmVmb3JlLCAuY2xvc2UtcG9wdXA6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBiYWNrZ3JvdW5kOiAjNEQ0RDREOyB9XG5cbi5jbG9zZS1wb3B1cDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5jbG9zZS1wb3B1cDo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5mb3JtLWludmVyc2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ucHJvcGVydHktdGl0bGUgOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cblxuLnRpcC1zaWduIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogNi4yNXB4O1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICB3aWR0aDogMC44cmVtO1xuICBoZWlnaHQ6IDAuOHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2E2OTY2YTsgfVxuXG4udGlwLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogJz8nO1xuICBjb2xvcjogI2E2OTY2YTsgfVxuXG4uZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzMzMzIHRyYW5zcGFyZW50OyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5maWx0ZXItcm93IHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmZpbHRlci1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5maWx0ZXItZHJvcGRvd24gOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nOScgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgOSA1JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMCwwIDQuNSw0LjUnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOndoaXRlOycgLyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNC41LDQuNSA5LDAnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOndoaXRlOycgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuZmlsdGVyLWRyb3Bkb3duIDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gIC5maWx0ZXItZHJvcGRvd246aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZmlsdGVyLWRyb3Bkb3duICsgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LWhlaWdodDogMTgwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgLmZpbHRlci1kcm9wZG93biArIHVsIGxpIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZpbHRlci1kcm9wZG93bi5leHBhbmRlZCA6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjVyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nOScgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgOSA1JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMCw1IDQuNSwwLjUnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOndoaXRlOycgLyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNC41LDAuNSA5LDUnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOndoaXRlOycgLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZpbHRlci1kcm9wZG93bi5leHBhbmRlZCArIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb290ZXItYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLmZvb3RlciAuZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgIC5mb290ZXIgLmZvcm1fYnV0dG9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiA1cmVtOyB9XG4gICAgLmZvb3RlciAuZm9ybSAuZW1haWwtc3VibWl0IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mb290ZXJfbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyX25hdmlnYXRpb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgLmZvb3RlciAudGVybXMge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5mb290ZXIgLnRlcm1zIGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgICAuZm9vdGVyIC50ZXJtcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9XG4gIC5mb290ZXIgLnZhbGlkYXRpb24tdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuXG4ubmF2bGlzdCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5uYXZsaXN0IGxpIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cblxuLm5hdmxpc3QgLmxpc3QxIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfVxuXG4uaGVhZGVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5pcy1tZW51IC5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAuaXMtbWVudSAuaGVhZGVyIC5oZWFkZXItdXBwZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAuaGVhZGVyIC5oZWFkZXItdXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyIC5oZWFkZXItdXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaGVhZGVyLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDc5LjM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAuaGVhZGVyLWlubmVyOjpiZWZvcmUsIC5oZWFkZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmhlYWRlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmhlYWRlci1sb3dlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXItbG93ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9IH1cblxuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5pY29uLXByZXZpb3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMnB4O1xuICB0b3A6IDhyZW07XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pY29uLXByZXZpb3VzIHtcbiAgICAgIGxlZnQ6IC02JTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmljb24tcHJldmlvdXMgPiBoMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzAlOyB9XG4gIC5pY29uLXByZXZpb3VzID4gYSB7XG4gICAgZm9udC1zaXplOiAxNS42MjVweDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjYTY5NjZhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgcGFkZGluZzogMTFweCAxNXB4OyB9XG5cbi5pY29uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMnB4O1xuICB0b3A6IDhyZW07XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pY29uLW5leHQge1xuICAgICAgcmlnaHQ6IC02JTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmljb24tbmV4dCA+IGgzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNyU7XG4gICAgbWFyZ2luLWJvdHRvbTogNTAlOyB9XG4gIC5pY29uLW5leHQgPiBhIHtcbiAgICBmb250LXNpemU6IDE1LjYyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNhNjk2NmE7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBwYWRkaW5nOiAxMXB4IDE1cHg7IH1cblxuLmljb24tdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5pY29uLXRleHQgLmljb24tZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDYuMjVweDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLmljb24tcGx1cyB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0NSU7XG4gIHRvcDogLTFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMTVyZW0gMC42cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWNvbi1wbHVzIHtcbiAgICAgIGxlZnQ6IDQ4LjUlOyB9IH1cblxuLmltYWdlLWJsb2NrIHtcbiAgbWF4LXdpZHRoOiA3OS4zNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmltYWdlLWJsb2NrID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5pbWFnZS1ibG9jay1jb2xsYWdlLTF4MiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5pbWFnZS1ibG9jay0xeDEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDsgfVxuICAuaW1hZ2UtYmxvY2stMXgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmltYWdlLWJsb2NrLTJ4MiB7XG4gICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgLmltYWdlLWJsb2NrLTJ4MiAuY29sdW1ucyB7XG4gICAgICBtYXJnaW46IDAgNXB4OyB9XG4gICAgICAuaW1hZ2UtYmxvY2stMngyIC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5pbWFnZS1ibG9jay0yeDIgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uaW1hZ2UtYmxvY2stZ3JpZC0xeDIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW5cXDAge1xuICAuY29sbGFnZS5zaHJpbmsge1xuICAgIG1heC13aWR0aDogNDgzcHg7XG4gICAgLW1zLWZsZXg6IDEwMCU7XG4gICAgLXdlYmtpdC1mbGV4OiAxMDAlO1xuICAgIGZsZXg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbGxhZ2Uge1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNjY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuY29sbGFnZSB7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcmVzcy1yZWxlYXNlID4gLmNvbHVtbjpudGgtY2hpbGQoMSksIC5wcmVzcy1yZWxlYXNlID4gLmNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnByZXNzLXJlbGVhc2UgPiAuY29sdW1uOm50aC1jaGlsZCgyKSwgLnByZXNzLXJlbGVhc2UgPiAuY29sdW1uczpudGgtY2hpbGQoMikge1xuICAgIG9yZGVyOiAtMjsgfSB9XG5cbi5saXN0LXZpZXcge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlIC1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IGluaXRpYWw7IH1cbiAgLmxpc3Qtdmlldzpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAubGlzdC12aWV3IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3QtdmlldyAuZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07IH0gfVxuICAgIC5saXN0LXZpZXcgLmRlc2NyaXB0aW9uID4gaDUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5saXN0LXZpZXcgLmRlc2NyaXB0aW9uID4gaDYge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjYjViNWI1OyB9XG4gIC5saXN0LXZpZXcgLnN0YXQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlzdC12aWV3IC5zdGF0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2I1YjViNTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saXN0LXZpZXcgLnN0YXQ6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYjViNWI1O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEzMHB4OyB9IH1cblxuLmxpc3Qtdmlldy5mZWF0dXJlZCAuc3RhdCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLm1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1MDBweDsgfVxuICAubWFwIC56b29tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDEwcHg7IH1cbiAgICAubWFwIC56b29tIC56b29tLWluLFxuICAgIC5tYXAgLnpvb20gLnpvb20tb3V0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0YW47XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cblxuLnByb3BlcnR5LWltYWdlIHtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4jbWFwTGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAjbWFwTGVnZW5kIC5sZWdlbmQtY29udGFpbmVyIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICNtYXBMZWdlbmQgLmxlZ2VuZC1pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgI21hcExlZ2VuZCAubGVnZW5kLWl0ZW0gbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogNnB4IDAgMCA2cHg7IH1cbiAgICAjbWFwTGVnZW5kIC5sZWdlbmQtaXRlbSAucm91bmRlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsgfVxuICAgICAgI21hcExlZ2VuZCAubGVnZW5kLWl0ZW0gLnJvdW5kZWQgLnN3YXRjaCB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XG4gICAgICAgICNtYXBMZWdlbmQgLmxlZ2VuZC1pdGVtIC5yb3VuZGVkIC5zd2F0Y2g6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4ubW9kYWwge1xuICBtYXgtd2lkdGg6IDc5LjM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDMwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5tb2RhbCBpZnJhbWUge1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5tb2RhbCBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDQ2MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA2NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAubW9kYWwgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1vZGFsIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogNTYwcHg7IH0gfVxuICAubW9kYWwgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5tb2RhbCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLm1vZGFsIHRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gIC5tb2RhbCB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZGFsIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kYWwgdGhlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2RhbCBhIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLm1vZGFsIC5oZXJvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2RhbC1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1vZGFsLWFqYXgge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubW9kYWwtYWpheCAuY29udHJvbHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC01MHB4OyB9XG4gICAgICAubW9kYWwtYWpheCAuY29udHJvbHMgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIC5tb2RhbC1hamF4IC5jb250cm9scyAucHJpbnQtcGFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubW9kYWwtYWpheCB7XG4gICAgICAgIHdpZHRoOiA3NTBweDsgfSB9XG4gIC5tb2RhbC12aWRlbyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgIC5tb2RhbC12aWRlbyAuY29udHJvbHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC01MHB4OyB9XG4gICAgICAubW9kYWwtdmlkZW8gLmNvbnRyb2xzIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLm1vZGFsLXZpZGVvLWN0YSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tb2RhbC12aWRlby1jdGEudGh1bWJuYWlsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgLm1vZGFsLXZpZGVvLWN0YSBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5tb2RhbC12aWRlby1jdGEgLm92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb2RhbC12aWRlbyB7XG4gICAgICAgIHdpZHRoOiA3OTBweDsgfSB9XG4gIC5tb2RhbC5jb250YWN0dXMge1xuICAgIHRvcDogMjc1cHggIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDY2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIC5tb2RhbC5jb250YWN0dXMge1xuICAgICAgICB0b3A6IDI1JSAhaW1wb3J0YW50OyB9IH1cbiAgICAubW9kYWwuY29udGFjdHVzIC5jYWxsb3V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAubW9kYWwuY29udGFjdHVzIC5zY2ZSZXF1aXJlZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAubW9kYWwuY29udGFjdHVzIHtcbiAgICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubW9kYWwuY29udGFjdHVzIHtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5wbGF5LWJ1dHRvbi1vdXRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNWVtO1xuICBoZWlnaHQ6IDVlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cblxuLnBsYXktYnV0dG9uIHtcbiAgbWFyZ2luOiAzMCUgNDAlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFlbSAwIDFlbSAxLjVlbTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwOyB9XG5cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDU1cHggMCAwcHg7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgIC5pbnRlcmlvciAubmF2aWdhdGlvbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgfSB9XG4gIC5uYXZpZ2F0aW9uLWhvbWUtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA4NXB4O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZpZ2F0aW9uLWhvbWUtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAubmF2aWdhdGlvbi1ob21lLWxpbmsgaW1nIHtcbiAgICAgIGhlaWdodDogMzRweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubmF2aWdhdGlvbi1ob21lLWxpbmsgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDUxcHg7IH0gfVxuICAgIC5uYXZpZ2F0aW9uLWhvbWUtbGluayAubG9nbyB7XG4gICAgICBoZWlnaHQ6IDM0cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm5hdmlnYXRpb24taG9tZS1saW5rIC5sb2dvIHtcbiAgICAgICAgICBoZWlnaHQ6IDUxcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZpZ2F0aW9uLWhvbWUtbGluayB7XG4gICAgICAgIHdpZHRoOiAxNDNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2I1YjViNTsgfSB9XG4gIC5uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgIGhlaWdodDogODVweDsgfSB9XG4gIC5uYXZpZ2F0aW9uLWhhbWJ1cmdlci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkYmRiZGI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZpZ2F0aW9uLWhhbWJ1cmdlci1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAubmF2aWdhdGlvbi1oYW1idXJnZXItbW9iaWxlOmZvY3VzLCAubmF2aWdhdGlvbi1oYW1idXJnZXItbW9iaWxlOmFjdGl2ZSwgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZTpob3ZlciB7XG4gICAgICBvdXRsaW5lOiAjMjkyOTI5OyB9XG4gICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZSAuaGFtYnVyZ2VyLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGJhY2tncm91bmQ6ICMyOTI5Mjk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDBzIDAuM3M7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLWhhbWJ1cmdlci1tb2JpbGUgLmhhbWJ1cmdlci10b2dnbGU6OmJlZm9yZSwgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZSAuaGFtYnVyZ2VyLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyOTI5Mjk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzLCAwLjNzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzLCAwczsgfVxuICAgICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZSAuaGFtYnVyZ2VyLXRvZ2dsZTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTsgfVxuICAgICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZSAuaGFtYnVyZ2VyLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC03cHg7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtOyB9XG4gICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci10b2dnbGU6OmJlZm9yZSwgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci10b2dnbGU6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuM3M7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLWhhbWJ1cmdlci1tb2JpbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci10b2dnbGU6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyLW1vYmlsZS5pcy1hY3RpdmUgKyAubmF2aWdhdGlvbi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uYXZpZ2F0aW9uLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZpZ2F0aW9uLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgPiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5uYXZpZ2F0aW9uLW1lbnUgPiBsaSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgaW5wdXQsXG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgYSxcbiAgICAgICAgLm5hdmlnYXRpb24tbWVudSBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLm5hdmlnYXRpb24tbWVudSA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjViNWI1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbTpob3ZlciwgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2I1YjViNTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA4NXB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH0gfVxuICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5tZW51LWxpbmsge1xuICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5tZW51LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyLjVyZW0gMjBweCAyMHB4OyB9IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbS5wYXJlbnQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nOScgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgOSA1JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMCwwIDQuNSw0LjUnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOmJsYWNrOycgLyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNC41LDQuNSA5LDAnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOmJsYWNrOycgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbS5wYXJlbnQ6OmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMS41cmVtOyB9IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbS5wYXJlbnQuZXhwYW5kZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbS5wYXJlbnQuZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzknIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDkgNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAsNSA0LjUsMC41JyBzdHlsZT0nc3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTpibGFjazsnIC8lM0UlM0Nwb2x5bGluZSBwb2ludHM9JzQuNSwwLjUgOSw1JyBzdHlsZT0nc3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTpibGFjazsnIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbS5wYXJlbnQuZXhwYW5kZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtLnBhcmVudC5leHBhbmRlZCAubmVzdGVkIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkID4gbGk6bGFzdC1jaGlsZCBhIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5uZXN0ZWQgPiBsaSAuZHJvcGRvd24gPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAgICAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0gLm5lc3RlZCA+IGxpIC5kcm9wZG93biA+IGxpIGEgc3BhbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0gLm5lc3RlZCBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0gLm5lc3RlZCBhIHtcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5uZXN0ZWQgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0gLm5lc3RlZCBhIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5uZXN0ZWQgYSBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiNWI1YjU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5uZXN0ZWQgYS5tZW51LWxpbmstcGFyZW50OmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkIGEubWVudS1saW5rLXBhcmVudCBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgICAgICAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0gLm5lc3RlZCBhLm1lbnUtbGluay1wYXJlbnQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxLjJyZW07XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nOScgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgOSA1JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMCwwIDQuNSw0LjUnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOmJsYWNrOycgLyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNC41LDQuNSA5LDAnIHN0eWxlPSdzdHJva2Utd2lkdGg6IDFweDsgc3Ryb2tlOmJsYWNrOycgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkIGEubWVudS1saW5rLXBhcmVudDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDEuMTg3NXJlbTsgfSB9XG4gICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5uZXN0ZWQgYS5tZW51LWxpbmstcGFyZW50LmV4cGFuZGVkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkIGEubWVudS1saW5rLXBhcmVudC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzknIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDkgNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAsNSA0LjUsMC41JyBzdHlsZT0nc3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTpibGFjazsnIC8lM0UlM0Nwb2x5bGluZSBwb2ludHM9JzQuNSwwLjUgOSw1JyBzdHlsZT0nc3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTpibGFjazsnIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1lbnUtaXRlbSAubmVzdGVkIGEubWVudS1saW5rLXBhcmVudC5leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gICAgICAgICAgICAubmF2aWdhdGlvbi1tZW51IC5tZW51LWl0ZW0gLm5lc3RlZCBhLm1lbnUtbGluay1wYXJlbnQuZXhwYW5kZWQgLm5lc3RlZCB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm5hdmlnYXRpb24tbWVudSAubWVudS1pdGVtIC5uZXN0ZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubmF2aWdhdGlvbi1zZWFyY2gge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogNTVweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmF2aWdhdGlvbi1zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuICAgIC5uYXZpZ2F0aW9uLXNlYXJjaCAuc2VhcmNoLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubmF2aWdhdGlvbi1zZWFyY2ggLnNlYXJjaC1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIC5uYXZpZ2F0aW9uLXNlYXJjaCAuc2VhcmNoLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm5hdmlnYXRpb24tc2VhcmNoIC5zZWFyY2gtYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7IH0gfVxuICAgICAgICAubmF2aWdhdGlvbi1zZWFyY2ggLnNlYXJjaC1idXR0b24taWNvbiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjMjkyOTI5OyB9XG4gICAgLm5hdmlnYXRpb24tc2VhcmNoIC5zZWFyY2gtYnV0dG9uLWdvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgLm5hdmlnYXRpb24tc2VhcmNoLmlzLWFjdGl2ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7IH1cbiAgICAubmF2aWdhdGlvbi1zZWFyY2guYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLm5hdmlnYXRpb24tc2VhcmNoaXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmF2aWdhdGlvbi1zZWFyY2hpciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5uZXdzLWJsdXJiIHtcbiAgcGFkZGluZzogMXJlbSAycmVtOyB9XG4gIC5uZXdzLWJsdXJiIC5oZWFkbGluZSB7XG4gICAgY29sb3I6ICM3MDcwNzA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5uZXdzLWJsdXJiLWZvb3RlciB7XG4gICAgY29sb3I6ICNhNjk2NmE7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5uZXdzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAubmV3czpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5uZXdzIC5kYXRlIHtcbiAgICBmb250LWZhbWlseTogXCJRdWlja3NhbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiA4Ljc1cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzcwNzA3MDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgLm5ld3MtYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTEuMjVweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5uZXdzLWZvb3RlciB7XG4gICAgY29sb3I6ICNhNjk2NmE7XG4gICAgZm9udC1zaXplOiA4Ljc1cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucGFnZS1tZW51IHtcbiAgbWF4LXdpZHRoOiA3OS4zNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLW1lbnUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIC5wYWdlLW1lbnUgLnBhZ2UtbWVudS1pdGVtIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucGFnZS1tZW51IC5wYWdlLW1lbnUtaXRlbSAucGFnZS1tZW51LWxpbmsge1xuICAgICAgZm9udC1zaXplOiA2LjI1cHg7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnBhZ2UtbWVudSAucGFnZS1tZW51LWl0ZW0gLnBhZ2UtbWVudS1saW5rLmFjdGl2ZSwgLnBhZ2UtbWVudSAucGFnZS1tZW51LWl0ZW0gLnBhZ2UtbWVudS1saW5rOmFjdGl2ZSwgLnBhZ2UtbWVudSAucGFnZS1tZW51LWl0ZW0gLnBhZ2UtbWVudS1saW5rOmhvdmVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwMDA7IH1cbiAgICAgIC5wYWdlLW1lbnUgLnBhZ2UtbWVudS1pdGVtIC5wYWdlLW1lbnUtbGluazpob3ZlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtbWVudSAucGFnZS1tZW51LWl0ZW0gLnBhZ2UtbWVudS1saW5rIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogODVweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2UtbWVudSAucGFnZS1tZW51LWl0ZW0gLnBhZ2UtbWVudS1saW5rIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnBhbmVsIC5wYW5lbC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAucGFuZWwgLnBhbmVsLWdyYXkgLnBhbmVsLWhlYWRpbmcgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExLjI1cHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucGFuZWwgLnBhbmVsLWdyYXkgLnBhbmVsLWhlYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDAwO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gIC5wYW5lbCAucGFuZWwtZ3JheSAucGFuZWwtYm9keSB7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG87IH1cblxuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi5wYW5lbCAucGFuZWwtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5wYW5lbCAucGFuZWwtd2hpdGUgLnBhbmVsLWhlYWRpbmcgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExLjI1cHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucGFuZWwgLnBhbmVsLXdoaXRlIC5wYW5lbC1oZWFkaW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzAwMDtcbiAgICB3aWR0aDogMjBweDsgfVxuICAucGFuZWwgLnBhbmVsLXdoaXRlIC5wYW5lbC1ib2R5IHtcbiAgICBtYXJnaW46IDFyZW0gYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgLXdlYmtpdC1mbGV4OiAxIDEgMHB4O1xuICAgIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLnByb3BlcnR5LW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlcm8gLmJhbm5lci1iYWNrZ3JvdW5kLWltYWdlIGltZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5mb290ZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sdC1tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnRuLWNvbnRhY3R1cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmFjay10by10b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBoMSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAuYmFkZ2Uge1xuICAgIHdpZHRoOiAxODZweDtcbiAgICBoZWlnaHQ6IDE4NnB4OyB9XG4gIC5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItdXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlciAubmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5pY29uLWlzLWxvZ28ge1xuICAgIGhlaWdodDogNzVweDtcbiAgICB3aWR0aDogMTMwcHg7IH1cbiAgLmx0LXNlY3Rpb24tcGFkZGluZy1sYXJnZS1hbGwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50eXBlLWhlYWRlci1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAubHQtZm9yY2UtbWFyZ2luLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4ucHJvcGVydHktaGVhZGVyIHtcbiAgbWluLWhlaWdodDogNjZweDsgfVxuICAucHJvcGVydHktaGVhZGVyIC5sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDU0cHg7IH1cbiAgLnByb3BlcnR5LWhlYWRlciBoMSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qbGluZS1oZWlnaHQ6NTRweDsqL1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb3BlcnR5LWhlYWRlciAucHJvcGVydHktbmF2aWdhdGlvbiB1bCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucHJvcGVydHktaGVhZGVyIC5wcm9wZXJ0eS1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5wcm9wZXJ0eS1oZWFkZXIgLnByb3BlcnR5LW5hdmlnYXRpb24gdWwgbGkgYSAuaGFzLXRpcCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnByb3BlcnR5LWhlYWRlciAucHJvcGVydHktbmF2aWdhdGlvbiAuaWNvbi14c21hbGwge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDsgfVxuXG4ucXVvdGUtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMzBweCAxNXB4IDQwcHg7IH1cbiAgLnF1b3RlLWJsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAnCAnO1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogLTM1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRUIgR2FyYW1vbmRcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmOyB9XG4gIC5xdW90ZS1ibG9jazphZnRlciB7XG4gICAgY29udGVudDogJyDigJ0nO1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC02MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkVCIEdhcmFtb25kXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjsgfVxuXG4uc2VhcmNoIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG4gIC5zZWFyY2ggLm1lbnUgLm1lbnUtaXRlbSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgIGhlaWdodDogODVweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogYXV0bzsgfVxuICAuc2VhcmNoLWNvbnRhaW5lciBpbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5zZWFyY2gtbWV0YSB7XG4gIG1hcmdpbjogMCAwIDE1cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlYXJjaC1tZXRhIHtcbiAgICAgIG1hcmdpbjogLTMwcHggMTVweCAwIDE1cHg7IH0gfVxuXG4uc3RhdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RhdC1pY29uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLnN0YXQtZmlndXJlIHtcbiAgICBmb250LXNpemU6IDIyLjVweDtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7IH1cbiAgICAuc3RhdC1maWd1cmUgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTEuMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuc3RhdC1maWd1cmUtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxMS4yNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zdGF0LWZpZ3VyZS1kZXNjcmlwdGlvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogMC44NzVyZW0gYXV0byAxcmVtIC0xMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLnN0YXQtZmlndXJlLmFsdGVybmF0aXZlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zdGF0LWZpZ3VyZS5pcy1sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDMxLjI1cHg7XG4gICAgICBmb250LXNpemU6IDMuMTI1cmVtOyB9XG4gIC5zdGF0LXN1YmZpZ3VyZSB7XG4gICAgZm9udC1zaXplOiA4Ljc1cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGNvbG9yOiAjYTY5NjZhOyB9XG4gIC5zdGF0LWF3YXJkIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7IH1cbiAgLnN0YXQtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogOC43NXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNhNjk2NmE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zdGF0LWNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogOC43NXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNhNjk2NmE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN0YXQtY2FwdGlvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luOiAwLjg3NXJlbSBhdXRvIDFyZW0gLTEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLnN0YXQtY2FwdGlvbi50eXBlLW1lZGl1bSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuc3RhdC1jYXB0aW9uLm5vLWFjY2VudDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zdGF0LXNtYWxsIC5zdGF0LWljb24ge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDsgfVxuICAuc3RhdC1zbWFsbCAuc3RhdC1maWd1cmUge1xuICAgIGZvbnQtc2l6ZTogMTEuMjVweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5zdGF0LXNtYWxsIC5zdGF0LWNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogNy41cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLnN0YXQtc21hbGwgLnN0YXQtY2FwdGlvbjphZnRlciB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gICAgICBtYXJnaW46IDAuN3JlbSBhdXRvIC0zcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5zdGF0LW1lZGl1bSAuc3RhdC1pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLnN0YXQtbGFyZ2UgLnN0YXQtaWNvbiB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG5cbi5zdG9jay1wcmljZSB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLnN0b2NrLXByaWNlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMwMDA7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgLnN0b2NrLXByaWNlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIyLjVweDtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMXJlbSAwIDAuNXJlbTsgfVxuXG4udGhyZWUtY29sdW1uIHtcbiAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuICAudGhyZWUtY29sdW1uIC5iYWRnZS5pcy1sZWZ0IHtcbiAgICBtYXJnaW46IDIwcHggYXV0bzsgfVxuICAudGhyZWUtY29sdW1uIGgzLnR5cGUtaGVhZGVyLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRocmVlLWNvbHVtbi5pcy1pbWFnZS1yaWdodCAuaXMtaW1hZ2Uge1xuICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bztcbiAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aHJlZS1jb2x1bW4uaXMtaW1hZ2UtcmlnaHQgLmNvbHVtbnM6bGFzdC1jaGlsZCwgLnRocmVlLWNvbHVtbi5pcy1pbWFnZS1yaWdodCAuY29sdW1uOmxhc3QtY2hpbGQsIC50aHJlZS1jb2x1bW4uaXMtaW1hZ2UtcmlnaHQgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aHJlZS1jb2x1bW4uaXMtaW1hZ2UtbGVmdCAuaXMtaW1hZ2Uge1xuICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bztcbiAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aHJlZS1jb2x1bW4uaXMtaW1hZ2UtbGVmdCAuY29sdW1uczpmaXJzdC1jaGlsZCwgLnRocmVlLWNvbHVtbi5pcy1pbWFnZS1sZWZ0IC5jb2x1bW46Zmlyc3QtY2hpbGQsIC50aHJlZS1jb2x1bW4uaXMtaW1hZ2UtbGVmdCAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uOm50aC1jaGlsZCgxKSwgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uczpudGgtY2hpbGQoMSkge1xuICAgICAgb3JkZXI6IC0xOyB9XG4gICAgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uOm50aC1jaGlsZCgyKSwgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uczpudGgtY2hpbGQoMikge1xuICAgICAgb3JkZXI6IC0yOyB9XG4gICAgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uOm50aC1jaGlsZCgzKSwgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uczpudGgtY2hpbGQoMykge1xuICAgICAgb3JkZXI6IC0zOyB9XG4gICAgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uOm50aC1jaGlsZCg0KSwgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uczpudGgtY2hpbGQoNCkge1xuICAgICAgb3JkZXI6IC00OyB9XG4gICAgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uOm50aC1jaGlsZCg1KSwgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uczpudGgtY2hpbGQoNSkge1xuICAgICAgb3JkZXI6IC01OyB9XG4gICAgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uOm50aC1jaGlsZCg2KSwgLnRocmVlLWNvbHVtbjpudGgtY2hpbGQob2RkKSAuY29sdW1uczpudGgtY2hpbGQoNikge1xuICAgICAgb3JkZXI6IC02OyB9IH1cblxuLnRodW1ibmFpbCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBzdXBwb3J0cyAoLW1zLWFjY2VsZXJhdG9yOiB0cnVlKSB7XG4gICAgLmxpc3QtZ3JpZCAudGh1bWJuYWlsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAudGh1bWJuYWlsIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAc3VwcG9ydHMgKC1tcy1hY2NlbGVyYXRvcjogdHJ1ZSkge1xuICAgICAgLmxpc3QtZ3JpZCAudGh1bWJuYWlsIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY2xpcDogcmVjdCgwcHgsIDI0NXB4LCAxMjVweCwgMHB4KTsgfSB9XG4gIC50aHVtYm5haWwtbmFycm93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnRodW1ibmFpbC1uYXJyb3cgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50aHVtYm5haWwgLmZlYXR1cmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRodW1ibmFpbCAuZmVhdHVyZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnRodW1ibmFpbCAuZmVhdHVyZWQgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGh1bWJuYWlsIC5kZXNjcmlwdGlvbiB7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aHVtYm5haWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA1NjhweCkge1xuICAgICAgLnRodW1ibmFpbC1ncmlkIC50aHVtYm5haWwgLnRodW1ibmFpbCAuZGVzY3JpcHRpb24gaDMge1xuICAgICAgICBmb250LXNpemU6IC42NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH0gfVxuICAgIC50aHVtYm5haWwtZ3JpZCAudGh1bWJuYWlsIC50aHVtYm5haWwgLmRlc2NyaXB0aW9uIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50aHVtYm5haWwtY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMjNweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIHdpZHRoOiAyNDZweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjdXJzb3I6IHRleHQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC50aHVtYm5haWwtY2lyY2xlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAudGh1bWJuYWlsLWNpcmNsZSB7XG4gICAgICAgIHdpZHRoOiA4NSU7IH0gfVxuICAgIC50aHVtYm5haWwtY2lyY2xlLXhzbWFsbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1heC13aWR0aDogOTBweDsgfVxuXG4udGh1bWJuYWlsLWdyaWQgLmRlc2NyaXB0aW9uIGgzIHtcbiAgZm9udC1zaXplOiAwLjY3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA1NjhweCkge1xuICAgIC50aHVtYm5haWwtZ3JpZCAuZGVzY3JpcHRpb24gaDMge1xuICAgICAgZm9udC1zaXplOiAwLjY3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbk1vZHVsZXMgLSByZXVzYWJsZSBwYXJ0cyBvZiBvdXIgZGVzaWduXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNkLWNvbnRhaW5lciB7XG4gIC8qIHRoaXMgY2xhc3MgaXMgdXNlZCB0byBnaXZlIGEgbWF4LXdpZHRoIHRvIHRoZSBlbGVtZW50IGl0IGlzIGFwcGxpZWQgdG8sIGFuZCBjZW50ZXIgaXQgaG9yaXpvbnRhbGx5IHdoZW4gaXQgcmVhY2hlcyB0aGF0IG1heC13aWR0aCAqL1xuICB3aWR0aDogOTAlO1xuICBtYXgtd2lkdGg6IDExNzBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNkLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIC8qIGNsZWFyZml4ICovXG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcblxyXG5NYWluIGNvbXBvbmVudHMgXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2NkLXRpbWVsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgMnJlbTtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgI2NkLXRpbWVsaW5lOjpiZWZvcmUge1xuICAgIC8qIHRoaXMgaXMgdGhlIHZlcnRpY2FsIGxpbmUgKi9cbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDE4cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAycHg7XG4gICAgYmFja2dyb3VuZDogI2RkZDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkge1xuICAgICNjZC10aW1lbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgICAgICNjZC10aW1lbGluZTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTJweDsgfSB9XG5cbi5jZC10aW1lbGluZS1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAyZW0gMDsgfVxuICAuY2QtdGltZWxpbmUtYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNkLXRpbWVsaW5lLWJsb2NrOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTcwcHgpIHtcbiAgICAuY2QtdGltZWxpbmUtYmxvY2sge1xuICAgICAgbWFyZ2luOiA0ZW0gMDsgfVxuICAgICAgLmNkLXRpbWVsaW5lLWJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNkLXRpbWVsaW5lLWJsb2NrOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmNkLXRpbWVsaW5lLWltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2LjVyZW07XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmNkLXRpbWVsaW5lLWltZyAuY2lyY2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuY2QtdGltZWxpbmUtaW1nIC5jaXJjbGUgLmlubmVyLWNpcmNsZSB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNhNjk2NmE7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkge1xuICAgIC5jZC10aW1lbGluZS1pbWcge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAvKiBGb3JjZSBIYXJkd2FyZSBBY2NlbGVyYXRpb24gaW4gV2ViS2l0ICovXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuY3NzYW5pbWF0aW9ucyAuY2QtdGltZWxpbmUtaW1nLmlzLWhpZGRlbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzc2FuaW1hdGlvbnMgLmNkLXRpbWVsaW5lLWltZy5ib3VuY2UtaW4ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cblxuLmNkLXRpbWVsaW5lLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW4tbGVmdDogMi41cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gICAgLmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLXRpbWVsaW5lLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC10aW1lbGluZS1pbmZvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07IH0gfVxuICAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtdGltZWxpbmUteWVhciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNiNWI1YjU7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogNHJlbTsgfVxuICAgIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC10aW1lbGluZS15ZWFyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIGJsYWNrO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gICAgLmNkLXRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDEuNmVtIDEuNmVtOyB9XG4gICAgICAuY2QtdGltZWxpbmUtY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQob2RkKSAuY2QtdGltZWxpbmUtY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLmNkLXRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChvZGQpIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC10aW1lbGluZS15ZWFyOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgYmxhY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICBsZWZ0OiA5NSU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC10aW1lbGluZS1oZWFkZXIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNC41cmVtOyB9XG4gICAgICAuY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC10aW1lbGluZS1pbmZvIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDQuNXJlbSAwIDA7IH1cbiAgICAgIC5jc3NhbmltYXRpb25zIC5jZC10aW1lbGluZS1jb250ZW50LmlzLWhpZGRlbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzc2FuaW1hdGlvbnMgLmNkLXRpbWVsaW5lLWNvbnRlbnQuYm91bmNlLWluIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XG4gIC8qIGludmVyc2UgYm91bmNlIGVmZmVjdCBvbiBldmVuIGNvbnRlbnQgYmxvY2tzICovIH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjEuMlxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbiVtdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGJvdHRvbSk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdG9wKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIFByaW1hcnkgY29sb3IgZm9yIGludGVyYWN0aXZlIGNvbXBvbmVudHMgbGlrZSBsaW5rcyBhbmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJHByaW1hcnktY29sb3I6ICMyMTk5ZTggIWRlZmF1bHQ7XG5cbi8vLyBTZWNvbmRhcnkgY29sb3IsIHVzZWQgd2l0aCBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCB0aGUgYC5zZWNvbmRhcnlgIGNsYXNzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2Vjb25kYXJ5LWNvbG9yOiAjNzc3ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gaW5kaWNhdGUgYSBwb3NpdGl2ZSBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAuc3VjY2Vzc2AgY2xhc3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gaW5kaWNhdGUgYSBjYXV0aW9uIHN0YXR1cyBvciBhY3Rpb24sIHVzZWQgd2l0aCB0aGUgYC53YXJuaW5nYCBjbGFzcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byBpbmRpY2F0ZSBhIG5lZ2F0aXZlIHN0YXR1cyBvciBhY3Rpb24sIHVzZWQgd2l0aCB0aGUgYC5hbGVydGAgY2xhc3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbGVydC1jb2xvcjogI2VjNTg0MCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8vICRib2R5LWZvbnQtZmFtaWx5OiAnRUIgR2FyYW1vbmQnLCAnVGltZXMgTmV3IFJvbWFuJywgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtYXAgdXNlZCB0byBpdGVyYXRlIHRocm91Z2ggY29sb3JzLCB0byBnZW5lcmF0ZSBDU1MgY2xhc3NlcyB3aXRoIGxlc3MgY29kZVxuJGZvdW5kYXRpb24tY29sb3JzOiAoXG4gIHByaW1hcnk6ICRwcmltYXJ5LWNvbG9yLFxuICBzZWNvbmRhcnk6ICRzZWNvbmRhcnktY29sb3IsXG4gIHN1Y2Nlc3M6ICRzdWNjZXNzLWNvbG9yLFxuICBhbGVydDogJGFsZXJ0LWNvbG9yLFxuICB3YXJuaW5nOiAkd2FybmluZy1jb2xvcixcbikgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAgMTUuIERyaWxsZG93blxuLy8gIDE2LiBEcm9wZG93blxuLy8gIDE3LiBEcm9wZG93biBNZW51XG4vLyAgMTguIEZsZXggVmlkZW9cbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gT2ZmLWNhbnZhc1xuLy8gIDI0LiBPcmJpdFxuLy8gIDI1LiBQYWdpbmF0aW9uXG4vLyAgMjYuIFByb2dyZXNzIEJhclxuLy8gIDI3LiBSZXZlYWxcbi8vICAyOC4gU2xpZGVyXG4vLyAgMjkuIFN3aXRjaFxuLy8gIDMwLiBUYWJsZVxuLy8gIDMxLiBUYWJzXG4vLyAgMzIuIFRodW1ibmFpbFxuLy8gIDMzLiBUb29sdGlwXG4vLyAgMzQuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTI3MCk7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS4yO1xuJHByaW1hcnktY29sb3I6ICMwMDAwMDA7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjZjJmMmYyO1xuJGhpZ2hsaWdodC1jb2xvcjogI2E2OTY2YTtcbiRzdWNjZXNzLWNvbG9yOiAjNzBiZjRhO1xuLy8gJHdhcm5pbmctY29sb3I6ICNmZmFlMDA7XG4kYWxlcnQtY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4kbGlnaHQtZ3JheTogI2I1YjViNTtcbiRtZWRpdW0tZ3JheTogIzcwNzA3MDtcbiRkYXJrLWdyYXk6ICMyOTI5Mjk7XG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kbGFiZWw6ICNiNWI1YjU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0VCIEdhcmFtb25kJywgJ1RpbWVzIE5ldyBSb21hbicsIFRpbWVzLCBzZXJpZjtcbiRib2R5LWFsdGVybmF0ZS1mb250OiAnUXVpY2tzYW5kJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJG1lbnUtZm9udDogJ0xhdG8nO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4vLyAkZ2xvYmFsLW1hcmdpbjogMXJlbTtcbi8vICRnbG9iYWwtcGFkZGluZzogMXJlbTtcbi8vICRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuLy8gJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4vLyAkZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDRweDtcbi8vICRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbi8vICRyZW0tYmFzZTogMTZweDtcbi8vXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cbi8vXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsIFxuICBtZWRpdW06IDY0MHB4LCBcbiAgbGFyZ2U6IDEwMjRweCxcbiAgbGFyZ2VyOiAxMDI1cHgsIC8vIFVzZWQgZm9yIHByb3BlcnR5IGltYWdlanMgbWVkaWEgcXVlcnkgY2hlY2tcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgbGFyZ2VyKTtcbi8vXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IDMwcHg7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiA0MDA7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDM2LFxuICAgICdoMyc6IDI2LFxuICAgICdoNCc6IDE2LFxuICAgICdoNSc6IDEyLFxuICAgICdoNic6IDEwLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA2NSxcbiAgICAnaDInOiAzNixcbiAgICAnaDMnOiAyNixcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNCxcbiAgICAnaDYnOiAxMlxuICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMjtcbi8vICRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuLy8gJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuLy8gJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuLy8gJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuMjtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kOiBmYWxzZTtcbi8vICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbi8vICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbi8vICRjb2RlLWNvbG9yOiAkYmxhY2s7XG4vLyAkY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbi8vICRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4vLyAkY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbi8vICRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbi8vICRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuLy8gJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuLy8gJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuLy8gJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuLy8gJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuLy8gJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbi8vICRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuLy8gJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4vLyAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4vLyAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbi8vICRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbi8vICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbi8vICRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuLy8gJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbi8vICRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4vLyAka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4vLyAka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4vLyAka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4vLyAka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuLy9cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4vLyAkbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4vLyAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbi8vICRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4vLyAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4vLyAkc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbi8vICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuLy8gJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4vL1xuLy8gLy8gNi4gQWJpZGVcbi8vIC8vIC0tLS0tLS0tXG4vL1xuLy8gJGFiaWRlLWlucHV0czogdHJ1ZTtcbi8vICRhYmlkZS1sYWJlbHM6IHRydWU7XG4vLyAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4vLyAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4vLyAkaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvcjtcbi8vICRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbi8vXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuLy9cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwcHg7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcbi8vXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAkYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4vL1xuLy8gLy8gOS4gQmFkZ2Vcbi8vIC8vIC0tLS0tLS0tXG4vL1xuLy8gJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbi8vICRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbi8vICRiYWRnZS1taW53aWR0aDogMi4xZW07XG4vLyAkYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG4vL1xuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAkYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbi8vICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbi8vICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IGZhbHNlO1xuLy8gJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG4vL1xuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuLy9cbi8vICRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbi8vICRidXR0b24tbWFyZ2luOiAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luIDA7XG4vLyAkYnV0dG9uLWZpbGw6IHNvbGlkO1xuLy8gJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbi8vICRidXR0b24tY29sb3I6ICNmZmY7XG4vLyAkYnV0dG9uLWNvbG9yLWFsdDogIzAwMDtcbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tc2l6ZXM6IChcbi8vICAgdGlueTogMC42cmVtLFxuLy8gICBzbWFsbDogMC43NXJlbSxcbi8vICAgZGVmYXVsdDogMC45cmVtLFxuLy8gICBsYXJnZTogMS4yNXJlbSxcbi8vICk7XG4vLyAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4vL1xuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4vLyAkYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuLy8gJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4vLyAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbi8vXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cbi8vXG4vLyAkY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbi8vICRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbi8vICRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbi8vICRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4vLyAkY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuLy8gJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4vLyAkY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG4vL1xuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuLy8gJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuLy8gJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuLy8gJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbi8vICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuLy8gJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuLy8gJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG4vL1xuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuLy9cbi8vICRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbi8vICRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuLy9cbi8vIDE2LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG4vL1xuLy8gJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4vLyAkZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuLy8gJGRyb3Bkb3duLWZvbnQtc2l6ZTogMTZyZW07XG4vLyAkZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuLy8gJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkZHJvcGRvd24tc2l6ZXM6IChcbi8vICAgdGlueTogMTAwcHgsXG4vLyAgIHNtYWxsOiAyMDBweCxcbi8vICAgbGFyZ2U6IDQwMHB4LFxuLy8gKTtcbi8vXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4kZHJvcGRvd25tZW51LWFycm93czogZmFsc2U7XG4vLyAkZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4vLyAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuLy9cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy9cbi8vICRmbGV4dmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbi8vICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuLy8gJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuLy8gJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuLy9cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG4vL1xuLy8gJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbi8vICRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbi8vICRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICRoZWxwdGV4dC1jb2xvcjogIzMzMztcbi8vICRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4vLyAkaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4vLyAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4vLyAkZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuLy8gJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuLy8gJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbi8vICRzZWxlY3QtYmFja2dyb3VuZDogI2ZhZmFmYTtcbi8vICRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICMzMzM7XG4vLyAkc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkaW5wdXQtY29sb3I6ICRkYXJrLWdyYXk7XG4vLyAkaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4vLyAkaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbi8vICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbi8vICRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbi8vICRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbi8vICRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuLy8gJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcbi8vICRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbi8vICRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4vLyAkaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuLy9cbi8vICRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4vLyAkbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4vLyAkbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4vLyAkbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuLy8gJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuLy8gJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG4vL1xuLy8gLy8gMjIuIE1lbnVcbi8vIC8vIC0tLS0tLS0tXG4vL1xuLy8gJG1lbnUtbWFyZ2luOiAwO1xuLy8gJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbi8vICRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4vLyAkbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4vLyAkbWVudS1leHBhbmQtbWF4OiA2O1xuLy9cbi8vIDIzLiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy9cbi8vICRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4vLyAkb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuLy8gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbi8vICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4vLyAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbi8vICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4vLyAkbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuLy8gJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG4vL1xuLy8gMjQuIE9yYml0XG4vLyAtLS0tLS0tLS1cbi8vXG4vLyAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbi8vICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4vLyAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4vLyAkb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuLy8gJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4vLyAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbi8vICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuLy8gJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbi8vICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuLy8gJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbi8vICRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG4vL1xuLy8gMjUuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbi8vICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbi8vICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuLy8gJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuLy8gJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuLy8gJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbi8vICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4vLyAkcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4vL1xuLy8gMjYuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4vLyAkcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuLy8gJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vL1xuLy8gMjcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuLy9cbi8vICRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJHJldmVhbC13aWR0aDogNjAwcHg7XG4vLyAkcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbi8vICRyZXZlYWwtb2Zmc2V0OiByZW0tY2FsYygxMDApO1xuLy8gJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4vLyAkcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRyZXZlYWwtemluZGV4OiAxMDA1O1xuLy8gJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4vLyAkc2xpZGVyLWhlaWdodDogMC41cmVtO1xuLy8gJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQ7XG4vLyAkc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbi8vICRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuLy8gJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbi8vICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuLy8gJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuLy8gMjkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4vLyAkc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbi8vICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4vLyAkc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4vLyAkc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4vLyAkc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4vLyAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4vLyAkc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4vLyAkdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuLy8gJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuLy8gJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuLy8gJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbi8vICR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbi8vICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4vLyAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4vLyAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbi8vICR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4vLyAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcbiR0YWItYm9yZGVyOiB0cmFuc3BhcmVudDtcbiR0YWItaXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMC41cmVtIDAuNXJlbTtcbi8vICR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiB0cmFuc3BhcmVudDtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vICR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuLy8gJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbi8vICR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4vLyAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbi8vICR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbi8vICR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzMuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbi8vICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbi8vICR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4vLyAkdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuLy8gJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuLy8gJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuLy8gJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4vLyAkdG9vbHRpcC1waXAtb2Zmc2V0OiAxLjI1cmVtO1xuLy8gJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbi8vICR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuLy8gJHRvcGJhci1iYWNrZ3JvdW5kOiAjZWVlO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRiZWhhdmlvcjogLXpmLWdldC1vcHRpb25zKCRiZWhhdmlvciwgbmVzdCBjb2xsYXBzZSk7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIG1hcC1nZXQoJGJlaGF2aW9yLCBuZXN0KSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBtYXAtZ2V0KCRiZWhhdmlvciwgY29sbGFwc2UpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYG51bGxgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBudWxsKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICRmbGV4OiAxIDEgMHB4O1xuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2UgYmV0d2VlbiBjb2x1bW5zLCBhZGRlZCBhcyBhIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaWYgJGd1dHRlciAhPSBudWxsIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkZ3V0dGVyIGluICRncmlkLWNvbHVtbi1yZXNwb25zaXZlLWd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGdyaWQgY29sdW1uLiBDb2x1bW5zIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LWdyaWQtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAmIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcblxuICAgIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAgIC5yb3cgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gc21hbGwge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgJGd1dHRlcjogbnVsbDtcblxuICAgICAgQGlmICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tcmVzcG9uc2l2ZS1ndXR0ZXIsICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAucm93LmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3ctYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLnJvdy5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmNvbHVtbi5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRiZWhhdmlvcjogLXpmLWdldC1vcHRpb25zKCRiZWhhdmlvciwgbmVzdCBjb2xsYXBzZSk7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIG1hcC1nZXQoJGJlaGF2aW9yLCBuZXN0KSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBtYXAtZ2V0KCRiZWhhdmlvciwgY29sbGFwc2UpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogbnVsbCkge1xuICBAaWYgJGd1dHRlciAhPSBudWxsIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkZ3V0dGVyKSAvIDIgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLXJlc3BvbnNpdmUtZ3V0dGVyIHtcbiAgICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGlmICRndXR0ZXIgIT0gbnVsbCB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGd1dHRlciBpbiAkZ3JpZC1jb2x1bW4tcmVzcG9uc2l2ZS1ndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuXG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogc21hbGwpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkbmV4dC1icDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcblxuICAgICAgICBAaWYgJG5leHQtYnAgPT0gbnVsbCB7XG4gICAgICAgICAgJGJwLW1heDogbnVsbDtcbiAgICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiB0aGUgbWVkaWEgcXVlcnkgXCIjeyR2YWx9XCIgY2Fubm90IGJlIHVzZWQgYmVjYXVzZSAjeyRicH0gaXMgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC4nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkYnAtbWF4OiAkbmV4dC1icDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgdGhlIGlucHV0IGlzIFwiMCB1cFwiXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogMDtcblxuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzLCBzdWJ0cmFjdCB0aGUgYnJlYWtwb2ludCB2YWx1ZSBieSBvbmUgXCJwaXhlbFwiLCBvciAxLzE2ZW0uXG4gICAgICBAaWYgJG5hbWVkIHtcbiAgICAgICAgJG1heDogJGJwLW1heDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG1heDogJGJwO1xuICAgICAgfVxuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIiBidXQgZG9uJ3QgXCJzbWFsbCBkb3duXCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG4gIC8vIFN0b3JlIHRoZSB2YWx1ZXMgb2YgdGhlIG1hcCBhcyBhIGxpc3QsIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSB3aXRoIG50aFxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuXG4gIC8vIEdoZXR0byBmb3IgbG9vcFxuICAkaTogMTtcbiAgJGZvdW5kOiBmYWxzZTtcbiAgQGVhY2ggJHZhbCBpbiBtYXAta2V5cygkbWFwKSB7XG4gICAgQGlmICRmb3VuZCA9PSBmYWxzZSB7XG4gICAgICBAaWYgKCRrZXkgPT0gJHZhbCkge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9XG4gICAgICAkaTogJGkgKyAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICRpID4gbGVuZ3RoKCRtYXApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkaSk7XG4gIH1cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjJcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAnc21hbGwnIHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMsIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAjMDAwICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogZm9yZWdyb3VuZCgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICAmLnRpbnkgICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIHRpbnkpOyB9XG4gICAgJi5zbWFsbCAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBzbWFsbCk7IH1cbiAgICAmLmxhcmdlICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGxhcmdlKTsgfVxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAwLjJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDUwJSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgc21hbGwpO1xuICB9XG5cbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XG4gICAgJC16Zi1zaXplOiAkc2l6ZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0nbGFiZWwnXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDElO1xuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgMC4xKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMS8xNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMS8xNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgJGxvd2VyLWJvdW5kLXNpemUgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSBzbWFsbCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBuZWVkIHN0eWxlcyFcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgQm9yZGVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiAkY291bnQgIT0gbnVsbCB7XG4gICAgQHdhcm4gJ2J1dHRvbi1ncm91cC1leHBhbmQoKTogdGhlICRjb3VudCBwcm9wZXJ0eSBpcyBubyBsb25nZXIgbmVlZGVkLiBUaGlzIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjIuJztcbiAgfVxuXG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgICYudGlueSAgICAgeyBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgdGlueSk7IH1cbiAgICAmLnNtYWxsICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIHNtYWxsKTsgfVxuICAgICYubGFyZ2UgICAgeyBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgbGFyZ2UpOyB9XG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuICAgICY6bm90KC52ZXJ0aWNhbCkge1xuXG4gICAgfVxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICYuZmlyc3Qtc3ViIHtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgICAgICN7JGdsb2JhbC1yaWdodH06IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMTBweDtcbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgJi5pcy1kb3duLWFycm93IGEge1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMnB4KSArIHJlbS1jYWxjKGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgdG9wKSk7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIH1cblxuICAgICAgJi5pcy1sZWZ0LWFycm93ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaXMtcmlnaHQtYXJyb3cgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxlZnQtYXJyb3cub3BlbnMtaW5uZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuaXMtcmlnaHQtYXJyb3cub3BlbnMtaW5uZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgdG9wOiAxMDAlO1xuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckRlcHRoXG4gICAgJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJixcbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2l0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICAmLm1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAmLmJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgID4gbGkgPiBhIHtcbiAgICAgID4gaW1nLFxuICAgICAgPiBpIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgID4gaW1nLFxuICAgICAgPiBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgID4gaW1nLFxuICAgICAgPiBpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gT3JpZW50YXRpb25cbiAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9IHNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cbiAgICAgID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy16aW5kZXg6IC0xICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgbWVudSBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBib2R5LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdG8gcGxhY2UgdW5kZXIgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGlzIHNoYWRvdyBvdmVybGFwcyB0aGUgb2ZmLWNhbnZhcyBtZW51cy5cbi8vLyBAdHlwZSBTaGFkb3dcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcbiAgLy8gRXh0cmEgcHJvcGVydGllcyBuZWVkZWQgb24gPGh0bWw+IGFuZCA8Ym9keT4gdG8gbWFrZSBvZmYtY2FudmFzIHdvcmtcbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBmb3IgcGFnZSBjb250ZW50XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQsXG4gIC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWFpbmNvbnRlbnQtc2hhZG93KSB7XG4gICAgICBib3gtc2hhZG93OiAkbWFpbmNvbnRlbnQtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIENsaWNrLXRvLWV4aXQgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLWV4aXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIG1lbnUuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZDtcbiAgei1pbmRleDogJG9mZmNhbnZhcy16aW5kZXg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHNpemU6ICRvZmZjYW52YXMtc2l6ZSxcbiAgJGZpeGVkOiBmYWxzZVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGVmdDogLSRzaXplO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICByaWdodDogLSRzaXplO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cblxuICAvLyBHZW5lcmF0ZXMgYW4gb3BlbiBzdGF0ZSBjbGFzcyB0aGF0IG1hdGNoZXMgdGhlIHdpZHRoIG9mIHRoZSBtZW51XG4gIEBhdC1yb290IHtcbiAgICAuaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtsZWZ0XSAtIFBvc2l0aW9uIG9mIHRoZSBvZmYtY2FudmFzIG1lbnUgYmVpbmcgcmV2ZWFsZWQuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdFxuKSB7XG4gICN7JHBvc2l0aW9ufTogMDtcbiAgei1pbmRleDogYXV0bztcblxuICBAaWYgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuXG4gICYgfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAmLnBvc2l0aW9uLWxlZnQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCk7IH1cbiAgICAmLnBvc2l0aW9uLXJpZ2h0ICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQpOyB9XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBtZW51IG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9IHNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IGZvcmVncm91bmQoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXM7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIHtcbiAgY29udGVudDogJ+KApic7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ8KrJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnwrsnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6ICRzbGlkZXItaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIE9mZnNldCBmcm9tIHRoZSB0b3Agb2YgdGhlIHdpbmRvdyB3aGVuIGEgbW9kYWwgaXMgYWRkZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW9mZnNldDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgbWFyZ2luOiAkcmV2ZWFsLW9mZnNldCBhdXRvIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNHJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS13aWR0aCBbMS41cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggcGFkZGxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHdpZHRoOiA0cmVtLFxuICAkaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLXdpZHRoOiAxLjVyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRoZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1sZWZ0LWFjdGl2ZTogJHdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1sZWZ0LWFjdGl2ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAzcmVtLCAkc3dpdGNoLWhlaWdodC10aW55LCAxcmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAzLjVyZW0sICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAxLjI1cmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCA1cmVtLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgMnJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yLCBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnlvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleW93b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG5cbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItaXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICR0YWItbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogZm9yZWdyb3VuZCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIG9mZnNldCBmb3IgdG9vbHRpcHMuIFRoaXMgY29udHJvbHMgaG93IGZhciB0aGUgcGlwIGlzIGluZGVudGVkIGZyb20gdGhlIGxlZnQgZWRnZSBvZiB0aGUgdG9vbHRpcC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1vZmZzZXQ6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICB3aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIG1ha2VzIHNlY3Rpb25zIHN0YWNrZWRcbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICAvLyBTdWItc2VjdGlvbnNcbiAgLnRvcC1iYXItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBhcyBkZWZhdWx0XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICAudG9wLWJhci10aXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gIH1cbiAgLnRvcC1iYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAudG9wLWJhci1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzbGlkZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBleHRlbmQgJW11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi5hY2NvcmRpb24ge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDojZmVmZWZlO1xuICBib3JkZXI6MXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICB9XG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxle1xuICBcdGRpc3BsYXk6YmxvY2s7XG4gIFx0cGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBcdGxpbmUtaGVpZ2h0OiAxO1xuICBcdGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgXHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTZlNmU2O1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50e1xuICBcdHBhZGRpbmc6MXJlbTtcbiAgfVxufVxuIiwiLy8gVHlwb2dyYXBoeVxuLy8gRm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRzaXplVmFsdWU6IDEuNikge1xuICBmb250LXNpemU6IHN0cmlwLXVuaXQocmVtLWNhbGMoKCRzaXplVmFsdWUgKiAxMCkpKSArIHB4O1xuICBmb250LXNpemU6IHN0cmlwLXVuaXQocmVtLWNhbGMoJHNpemVWYWx1ZSkpICsgcmVtO1xufVxuLy9cbi8vICBGdW5jdGlvbiB0byByZXBsYWNlIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmdcbi8vXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG4gICAgQGlmICRpbmRleCB7XG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgK1xuICAgICAgICBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICtcbiAgICAgICAgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICB9XG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuLy9TVkcgQVMgQkFDS0dST1VORFMgU0VFIGh0dHA6Ly9jb2RlcGVuLmlvL3RpZ3QvcG9zdC9vcHRpbWl6aW5nLXN2Z3MtaW4tZGF0YS11cmlzIGZvciBndWlkYW5jZVxuQGZ1bmN0aW9uIHN2Zy11cmwoJHN2Zyl7XG4gICAgLy9cbiAgICAvLyBDaHVuayB1cCBzdHJpbmcgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAvLyBcIlN5c3RlbVN0YWNrRXJyb3I6IHN0YWNrIGxldmVsIHRvbyBkZWVwXCJcbiAgICAvL1xuICAgICRlbmNvZGVkOicnO1xuICAgICRzbGljZTogMjAwMDtcbiAgICAkaW5kZXg6IDA7XG4gICAgJGxvb3BzOiBjZWlsKHN0ci1sZW5ndGgoJHN2ZykvJHNsaWNlKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsb29wcyB7XG4gICAgICAgICRjaHVuazogc3RyLXNsaWNlKCRzdmcsICRpbmRleCwgJGluZGV4ICsgJHNsaWNlIC0gMSk7XG4gICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCdcIicsJ1xcJycpO1xuICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnPCcsJyUzQycpO1xuICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnPicsJyUzRScpO1xuICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnJicsJyUyNicpO1xuICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnIycsJyUyMycpO1xuICAgICAgICAkZW5jb2RlZDogI3skZW5jb2RlZH0jeyRjaHVua307XG4gICAgICAgICRpbmRleDogJGluZGV4ICsgJHNsaWNlO1xuICAgIH1cbiAgICBAcmV0dXJuIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3skZW5jb2RlZH1cIik7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWFycm93KCRkaXJlY3Rpb246ICdkb3duJywgJGZpbGw6IHJnYigwLCAwLDApKSB7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gJ2Rvd24nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjlcIiBoZWlnaHQ9XCI1XCIgdmlld0JveD1cIjAgMCA5IDVcIj48cG9seWxpbmUgcG9pbnRzPVwiMCwwIDQuNSw0LjVcIiBzdHlsZT1cInN0cm9rZS13aWR0aDogMXB4OyBzdHJva2U6I3skZmlsbH07XCIgLz48cG9seWxpbmUgcG9pbnRzPVwiNC41LDQuNSA5LDBcIiBzdHlsZT1cInN0cm9rZS13aWR0aDogMXB4OyBzdHJva2U6I3skZmlsbH07XCIgLz48L3N2Zz4nKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09ICd1cCcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiOVwiIGhlaWdodD1cIjVcIiB2aWV3Qm94PVwiMCAwIDkgNVwiPjxwb2x5bGluZSBwb2ludHM9XCIwLDUgNC41LDAuNVwiIHN0eWxlPVwic3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTojeyRmaWxsfTtcIiAvPjxwb2x5bGluZSBwb2ludHM9XCI0LjUsMC41IDksNVwiIHN0eWxlPVwic3Ryb2tlLXdpZHRoOiAxcHg7IHN0cm9rZTojeyRmaWxsfTtcIiAvPjwvc3ZnPicpO1xuICB9XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cblxuLy9BY2NlbnQgbGluZVxuQG1peGluIGhyKCkge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIHdpZHRoOjIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbn1cbiIsIlxuLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGhlaWdodDogMy4yNXJlbTtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMTEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOjJweCBzb2xpZDtcbiAgbGluZS1oZWlnaHQ6MS41O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG5cbiAgJi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRib2R5LWFsdGVybmF0ZS1mb250O1xuICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJi5tZWRpdW0ge1xuICAgICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9ICAgIFxuIFxuICB9XG5cbiAgJi5zZWNvbmRhcnkge1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRib2R5LWFsdGVybmF0ZS1mb250O1xuICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJi5tZWRpdW0ge1xuICAgICAgbWluLXdpZHRoOiA5cmVtO1xuICAgIH1cbiBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH0gICAgXG5cbiAgfVxuXG5cbiAgJi50ZXJ0aWFyeSB7IFxuICAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRib2R5LWFsdGVybmF0ZS1mb250O1xuICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgJi5idG4tY29udGFjdHVzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgdG9wOiA2OSU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbiAgICB9ICAgIFxuXG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBmb250LXNpemU6MS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6MS4xMjVyZW07XG4gIH1cblxuICAmLmljb24ge1xuICAgIC8vSW5zZXJ0IHN0eWxlcyBoZXJlXG5cbiAgfVxuXG4gICYuc3F1YXJlLWNvcm5lcnMge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgfVxuICAmLmZ1bGwtd2lkdGh7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxufVxuIiwiXHJcbi5mb3JtIHtcclxuICBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG4gICZfX2J1dHRvbnMge1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcblxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjowLjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgICZbdHlwZT1jaGVja2JveF0ge1xyXG4gICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA1MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xyXG4gICAgJi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZTQ0MjQyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsbG91dC5hbGVydCB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZTQ0MjQyO1xyXG4gIGNvbG9yOiAjZTQ0MjQyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xyXG59XHJcblxyXG4uZm9ybS1pbnZlcnNlIHtcclxuICBpbnB1dCB7XHJcbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDotOTk5OXB4O1xyXG5cclxuICAgICAgJiArIGxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgICAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgd2lkdGg6IDFyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjI2MjYyO1xyXG4gICAgICAgICAgYm9yZGVyOjBweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgY29udGVudDogXCJcXDI3MTNcIjtcclxuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlblxcMCB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmRpc2FibGVkICsgbGFiZWwsICYuZGlzYWJsZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgICAgICBjdXJzb3I6IGF1dG87IFxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzICsgbGFiZWwsICYgKyBsYWJlbDpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oIzYyNjI2MiwgNTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmW3R5cGU9dGV4dF0sXHJcbiAgICAmW3R5cGU9ZW1haWxdIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICBwYWRkaW5nOiA0cHggMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDotOTk5OXB4O1xyXG5cclxuICAgICAgJiArIGxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgICAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogIzYyNjI2MjtcclxuICAgICAgICAgIGJvcmRlcjowcHg7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwLjI1cmVtO1xyXG4gICAgICAgICAgbGVmdDogMC4yNXJlbTtcclxuICAgICAgICAgIHdpZHRoOiAwLjVyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmRpc2FibGVkICsgbGFiZWwsICYuZGlzYWJsZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgICAgICBjdXJzb3I6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmZvcm0tbGFiZWwge1xyXG4gIGZvbnQtZmFtaWx5OiAkYm9keS1hbHRlcm5hdGUtZm9udDtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbiAgY29sb3I6ICRsYWJlbDtcclxufVxyXG5cclxuLmZvcm0tc2VsZWN0IHtcclxuICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWFycm93KCdkb3duJywgYmxhY2spO1xyXG59XHJcblxyXG4vKiBXRk0gc3R5bGluZyAqL1xuLnNjZlNpbmdsZUxpbmVHZW5lcmFsUGFuZWwsIC5zY2ZEcm9wTGlzdEdlbmVyYWxQYW5lbCwgLnNjZk11bHRpcGxlTGluZUdlbmVyYWxQYW5lbCwgLnNjZkVtYWlsR2VuZXJhbFBhbmVsIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgXHJcbn1cblxuLnNjZlJlcXVpcmVkIHtcbiAgZGlzcGxheTogbm9uZTsgXHJcbn1cblxuLnNjZkVycm9yLCAuc2NmVmFsaWRhdGlvblN1bW1hcnksIC5zY2ZWYWxpZGF0b3JSZXF1aXJlZCwgLnNjZlZhbGlkYXRvciB7XG4gIGZvbnQtc2l6ZTogMTJweDsgXHJcbn1cclxuLnNjZlNpbmdsZUxpbmVHZW5lcmFsUGFuZWwsIC5zY2ZFbWFpbEdlbmVyYWxQYW5lbCwgLnNjZkRyb3BMaXN0R2VuZXJhbFBhbmVsLCAuc2NmRHJvcExpc3RHZW5lcmFsUGFuZWx7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qICBUQUtFIFRISVMhICAgICAgICAgICAgICAqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqXHJcbiAqIE93bCBDYXJvdXNlbCB2Mi4zLjRcclxuICogQ29weXJpZ2h0IDIwMTMtMjAxOCBEYXZpZCBEZXV0c2NoXHJcbiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFXHJcbiAqL1xyXG4ub3dsLWNhcm91c2VsLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmVcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxXHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuXHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XHJcbiAgY29udGVudDogXCIuXCI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogMFxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMClcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0sIC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMClcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xyXG4gIG1pbi1oZWlnaHQ6IDFweDtcclxuICBmbG9hdDogbGVmdDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmVcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCB7XHJcbiAgZGlzcGxheTogbm9uZVxyXG59XHJcblxyXG4ubm8tanMgLm93bC1jYXJvdXNlbCwgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcclxuICBkaXNwbGF5OiBibG9ja1xyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5vd2wtZG90LCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZVxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xyXG4gIGJhY2tncm91bmQ6IDAgMDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIGZvbnQ6IGluaGVyaXRcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBkaXNwbGF5OiBibG9ja1xyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xyXG4gIG9wYWNpdHk6IDBcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlblxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lXHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xyXG4gIGN1cnNvcjogbW92ZTtcclxuICBjdXJzb3I6IGdyYWJcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcclxuICBkaXJlY3Rpb246IHJ0bFxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcclxuICBmbG9hdDogcmlnaHRcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aFxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xyXG4gIHotaW5kZXg6IDBcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XHJcbiAgei1pbmRleDogMVxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxufVxyXG5cclxuLm93bC1oZWlnaHQge1xyXG4gIHRyYW5zaXRpb246IGhlaWdodCAuNXMgZWFzZS1pbi1vdXRcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2VcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSksIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdIHtcclxuICBtYXgtaGVpZ2h0OiAwXHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZFxyXG59XHJcblxyXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAjMDAwXHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgd2lkdGg6IDgwcHg7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcclxuICBtYXJnaW4tdG9wOiAtNDBweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwob3dsLnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBlYXNlXHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMywxLjMpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLDEuMylcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24sIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4ge1xyXG4gIGRpc3BsYXk6IG5vbmVcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2VcclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuLmltZy1nYWxsZXJ5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIH1cclxuXHJcbiAgZmlndXJlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICBwYWRkaW5nOiAxMS41JSAwIDA7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEwcHgpO1xyXG4gICAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRpYWxvZ3MgLmRpYWxvZy1iYWNrZHJvcCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogNTAwMDtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI3LCAyNywgMjcsIDApO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5kaWFsb2dzIC5kaWFsb2ctYmFja2Ryb3AuYWN0aXZlIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI3LCAyNywgMjcsIDAuOTUpO1xyXG59XHJcblxyXG4uZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IDUwMDA7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRvcDogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBwYWRkaW5nOiA0LjVyZW0gMi41cmVtIDIuNXJlbTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xyXG4gICAgcGFkZGluZzogMi41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAuZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXS5oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdIGJ1dHRvbi5jbG9zZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICB6LWluZGV4OiA1MDAwO1xyXG4gIHJpZ2h0OiAxNXB4O1xyXG4gIHRvcDogNHJlbTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMCk7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXdlaWdodDogMTAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XHJcbiAgICB0b3A6IDJyZW07XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcblxyXG4gICAgcGF0aCB7XHJcbiAgICAgIGZpbGw6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGlhbG9ncyBbcm9sZT1cImRpYWxvZ1wiXSBidXR0b24uY2xvc2U6aG92ZXIsIC5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdIGJ1dHRvbi5jbG9zZTpmb2N1cyB7XHJcbiAgb3BhY2l0eTogLjU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZGlhbG9ncyA+IGRpdiB7XHJcbiAgPiBkaXYge1xyXG4gICAgPiBkaXYge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8qb3ZlcmZsb3c6aGlkZGVuOyovXHJcbiAgICB9XHJcblxyXG4gICAgLnNpbmdsZS1pdGVtIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDkxNXB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXgtaGVpZ2h0OiA5MTVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvbnRhaW47JztcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbGFyZ2VDYXJvdXNlbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDQyMHB4O1xyXG4gICAgICBtYXJnaW46IDQwcHggYXV0byAzMHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICAgIGhlaWdodDogNjU1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vd2wtc3RhZ2Utb3V0ZXIsIC5vd2wtc3RhZ2Uge1xyXG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3dsLWl0ZW0ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMDtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC42KTtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XHJcbiAgICAgICAgICAgICAgdG9wOiA0cmVtO1xyXG4gICAgICAgICAgICAgIHJpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkxNXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY29udGFpbjsnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoOTAlIC0gMjRweCk7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICAgICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnZpZGVvLXdyYXAge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2Mi41JSAwIDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vd2wtbmF2IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA1cmVtKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDFyZW0pO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBidXR0b24ge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgIGhlaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuXHJcbiAgICAgICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgICAgIGZpbGw6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjdGh1bWJuYWlsQ2Fyb3VzZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3dsLWl0ZW0ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcblxyXG4gICAgICAgIC5pdGVtIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDY2LjUlIDAgMDtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udmlkLXRodW1iIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMjBweCAwIDIwcHggNDBweDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmdiYSgyNTUsMjU1LDI1NSwuNyk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4jdGh1bWJuYWlsQ2Fyb3VzZWwge1xyXG4gIC52aWQtdGh1bWIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2luZ2xlLWltYWdlIHtcclxuICBmaWd1cmUge1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuaWNvbiB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAmLmlzLWdyYXkgeyBcclxuICAgIGZpbGw6ICRsaWdodC1ncmF5O1xyXG4gIH1cclxuXHJcbiAgJi5pcy1ncmVlbnsgXHJcbiAgICBmaWxsOiAkc3VjY2Vzcy1jb2xvcjtcclxuICB9XHJcblxyXG4gICYuaXMtbGlua3sgXHJcbiAgICBmaWxsOiAkaGlnaGxpZ2h0LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJi5pcy13aGl0ZXsgXHJcbiAgICBmaWxsOiB3aGl0ZTtcclxuICB9XHJcblxyXG4gICYteHhzbWFsbHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgJi14c21hbGwge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgfVxyXG5cclxuICAmLXNtYWxsIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gIH1cclxuXHJcbiAgJi1tZWRpdW0ge1xyXG4gICAgd2lkdGg6NDhweDtcclxuICAgIGhlaWdodDo0OHB4O1xyXG4gIH1cclxuXHJcbiAgJi1pbmxpbmUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OjAuNXJlbTtcclxuICB9XHJcbiAgJi1pcy1sb2dve1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5pbWFnZSB7XG4gICYtaW5saW5lIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgfVxuICAmLWljb25ze1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgfVxufVxuIiwiaHRtbCB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcbmJvZHkge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJi5pcy1yZXZlYWwtb3BlbiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgfVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYzLjkzNzVlbSkge1xyXG4gICAgJi5pcy1yZXZlYWwtb3BlbiB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBcclxuICAgIH0gXHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gXHJcbiAgYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIFxyXG4gIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgXHJcbiAgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgeyBcclxuICAgICYuaXMtcmV2ZWFsLW9wZW4ge1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLW1lbnV7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgfVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYzLjkzNzVlbSkge1xyXG4gICAgJi5pcy1tZW51IHtcclxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7IFxyXG4gICAgfSBcclxuICB9XHJcbn1cclxuc2VjdGlvbiB7XHJcbiAgbWFyZ2luOiAyLjVyZW0gMDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgLmRlc2t0b3Atb25seXtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIHtcclxuICAuZGVza3RvcC1vbmx5e1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5kZXNrdG9wLW9ubHkuZnVsbC13aWR0aCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuJG1vZHVsZTogJy5sdCc7XHJcbiN7JG1vZHVsZX0ge1xyXG4gICYtcHJpbWFyeS1iZy1jb2xvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgfVxyXG4gICYtc2Vjb25kYXJ5LWJnLWNvbG9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgfVxyXG4gICYtdGVydGlhcnktYmctY29sb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gIH1cclxuICAmLWZ1bGwtcm93IHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgJi1yb3ctY29sbGFwc2Uge1xyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtcXVhdGVybmFyeS1iZy1jb2xvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuICAmLXF1aW5hcnktYmctY29sb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFBMUExQTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG4gICYtbWFpbi1jb250ZW50IHtcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6IC05MHB4O1xyXG4gICAgbWluLWhlaWdodDoxMDBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXJnaW4tdG9wOjBweFxyXG4gICAgfVxyXG4gIH1cclxuICAmLXNlY3Rpb24tcGFkZGluZyB7XHJcbiAgICAmLXhsYXJnZSB7XHJcbiAgICAgIHBhZGRpbmc6IDQuNXJlbSAwO1xyXG4gICAgICAmLWFsbCB7XHJcbiAgICAgICAgcGFkZGluZzogNC41cmVtO1xyXG4gICAgICB9XHJcbiAgICAgICY+aDEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtbGFyZ2Uge1xyXG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbSAwO1xyXG4gICAgICAmLWFsbCB7XHJcbiAgICAgICAgLy9wYWRkaW5nOiAzLjEyNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAzLjEyNXJlbSAwLjkzNzVyZW07XHJcbiAgICAgIH1cclxuICAgICAgJi10b3Age1xyXG4gICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDAgMDtcclxuICAgICAgfVxyXG4gICAgICAmPmgxIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLW1lZGl1bSB7XHJcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xyXG4gICAgICAmLWFsbCB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgcGFkZGluZzogMi41cmVtIDEuODc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLXJpZ2h0IHsgXHJcbiAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmPmgxIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLXNtYWxsIHtcclxuICAgICAgcGFkZGluZzogMXJlbSAwO1xyXG4gICAgICAmLWFsbCB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgfVxyXG4gICAgICAmLXNpZGVze1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgfVxyXG4gICAgICAmLXJpZ2h0IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICB9XHJcbiAgICAgICY+aDEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYteHNtYWxsIHtcclxuICAgICAgcGFkZGluZzogMC41cmVtIDA7XHJcbiAgICB9XHJcbiAgICAmLXJlbW92ZS1zbWFsbHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtbGVmdHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi1ib3R0b20tc21hbGx7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtYm90dG9tLW1lZGl1bXtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgIH1cclxuICAgIH0gICBcclxuICB9XHJcbiAgJi1zZWN0aW9uLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG4gICYtc2VjdGlvbi1yb3VuZGVkLXJlbW92ZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxuICAmLXNlY3Rpb24tYm9yZGVyLXJlbW92ZSB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG4gICYtc2VjdGlvbi1lcXVhbCB7XHJcbiAgICAmLXhzbWFsbHtcclxuICAgICAgbWFyZ2luLXRvcDogLjVyZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgfVxyXG4gICAgJi1zbWFsbHtcclxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgJi1zZWN0aW9uLXNwYWNlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICYtbGFyZ2Uge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcclxuICAgIH1cclxuICAgICYtbWVkaXVtIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG4gICAgfVxyXG4gICAgJi1zbWFsbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbiAgICAmLXNtYWxsLXRvcHtcclxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIH1cclxuICAgICYtbWVkaXVtLXRvcHtcclxuICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xyXG4gICAgfVxyXG4gICAgJi1yZW1vdmUtc21hbGx7IFxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLXJlbW92ZS1tZWRpdW17IFxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtY29sdW1uIHtcclxuICAgICYtY29sbGFwc2Uge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgfVxyXG4gICAgJi1zZXBhcmF0b3Ige1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOjNyZW07XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgICAgfVxyXG4gICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtbWlkZGxlIHtcclxuICAgICAgICBAZXh0ZW5kIC5sdC1jb2x1bW4tc2VwYXJhdG9yO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtdG9wIHtcclxuICAgICAgICBAZXh0ZW5kIC5sdC1jb2x1bW4tc2VwYXJhdG9yO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICAgICAgICByaWdodDogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYteHNtYWxse1xyXG4gICAgICAgIEBleHRlbmQgLmx0LWNvbHVtbi1zZXBhcmF0b3I7XHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGNvbG9yOiAjYjViNWI1O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLS43NXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtc21hbGwge1xyXG4gICAgICAgIEBleHRlbmQgLmx0LWNvbHVtbi1zZXBhcmF0b3I7XHJcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgIHdpZHRoOjA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYtbWVkaXVtIHtcclxuICAgICAgICBAZXh0ZW5kIC5sdC1jb2x1bW4tc2VwYXJhdG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDg0cHg7XHJcbiAgICAgICAgICB0b3A6NTAlO1xyXG4gICAgICAgICAgd2lkdGg6MDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gICAgICBcclxuICAgICAgJi1sYXJnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDJyZW07XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4gICAgICAgICAgaGVpZ2h0OiAyMTRweDtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAmLXBhZGRpbmctdG9wIHtcclxuICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xyXG4gICAgfVxyXG4gICAgJi1wYWRkaW5nLXhsYXJnZS1yaWdodCB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLXNwYWNlciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtbm8tbWFyZ2lue1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICAmLW1pZGRsZS1tYXJnaW57XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9ICBcclxuICAmLWZvcmNlLW1hcmdpbi1yaWdodHsgXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcclxuICB9XHJcbiAgJi1mb3JjZS1tYXJnaW4tbGVmdHsgXHJcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xyXG4gIH1cclxuICAmLWZvcmNlLW1hcmdpbi1tZWRpdW0tcmlnaHR7IFxyXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XHJcbiAgfVxyXG4gICYtZm9yY2UtbWFyZ2luLW1lZGl1bS1sZWZ0eyBcclxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbiAgfVxyXG4gICYtc2hhZG93e1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggMnB4IDAuNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICB9XHJcbiAgJi1wb3NpdGlvbntcclxuICAgICYtYWJzb2x1dGV7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICAgICYtcmVsYXRpdmV7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pcyB7XHJcbiAgJi1oaWRkZW4ge1xyXG4gICAgLmpzICYge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xyXG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcbiAgICAgIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXI6MCAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBTdHlsZXMgZm9yIHNjcmVlbnMgdGhhdCBhcmUgYXRsZWFzdCA3NjhweDsgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5sYXJnZXtcclxuICAgICYtN3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA1OC4zMzMzMyU7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnB1c2h7XHJcbiAgICAmLTV7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbGVmdDogNDEuNjY2NjclO1xyXG4gICAgICByaWdodDogYXV0bzsgXHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wdWxse1xyXG4gICAgJi03e1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcmlnaHQ6IDU4LjMzMzMzJTtcclxuICAgIGxlZnQ6IGF1dG87IFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbHVtbi5mbGV4LWZ1bGwsIC5jb2x1bW5zLmZsZXgtZnVsbCB7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgMSAxMDAlO1xyXG4gICAgLW1zLWZsZXg6IDEgMSAxMDAlO1xyXG4gICAgZmxleDogMSAxIDEwMCU7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgLnNtYWxsLWZsb2F0LWNlbnRlciB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuLmdvQXdheXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDk5OTk5OXB4O1xyXG59XHJcbi8qIEZpeCBmb3IgaVBhZCB3aGVuIGRpc3BsYXlpbmcgUmV2ZWFsIG1vZGFsIHdpdGggbG90cyBvZiBjb250ZW50ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSAgeyBcclxuICAuaXBhZC1zY3JvbGxmaXgge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgaGVpZ2h0OiA0NTBweDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBcclxuYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIFxyXG5hbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIFxyXG5hbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7IFxyXG4gIC5pcGFkLWxhbmRzY2FwZS1zY3JvbGxmaXgge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgaGVpZ2h0OiA0NTBweDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xyXG4gIC5pcGhvbmUtc2Nyb2xsZml4IHsgXHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBoZWlnaHQ6IDM4MHB4O1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyBcclxuICB9IFxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWluLWRldmljZS13aWR0aCA6IDM3NXB4KSBcclxuYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogNjY3cHgpIFxyXG5hbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7ICBcclxuICAuaXBob25lLWxhbmRzY2FwZS1zY3JvbGxmaXggeyBcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IFxyXG4gIH0gXHJcbn1cclxuXHJcbi8qIENsYXNzIGZvciBmaXhpbmcgUmVnaXN0ZXJlZCBzeW1ib2wgKi8gXHJcbi5yZWdpc3RyYXRpb257XHJcbiAgICBmb250LXNpemU6Mi41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6LjI1cmVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246Ym90dG9tO1xyXG59XHJcblxyXG4uc2l0ZW1hcHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgPiBsaXtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICB1bHtcclxuICAgICAgID4gIGxpe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbGFyZ2VyO1xyXG4gICAgfVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4uZmxvYXQtcmlnaHQtcmVtb3ZlLW1vYmlsZXtcclxuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgXHJcbmFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgXHJcbmFuZCAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHtcclxuICAudGFibGV0LWxhbmRzY2FwZXtcclxuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XHJcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBcclxuYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogMzc1cHgpIFxyXG5hbmQgKG1heC1kZXZpY2Utd2lkdGggOiA2NjdweCkgXHJcbmFuZCAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHsgXHJcbiAgLnRhYmxldC1sYW5kc2NhcGV7XHJcbiAgICAuYmFkZ2UtbWVkaXVte1xyXG4gICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgXHJcbmFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgIHsgXHJcbiAgLmhpZGUtZm9yLXRhYmxldHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWluLWRldmljZS13aWR0aCA6IDM3NXB4KSBcclxuYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogNjY3cHgpIFxyXG5hbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7IFxyXG4gIC5sYW5kc2NhcGUtY29sdW1ue1xyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnNtYWxsLW9yZGVyIHtcclxuICAgICYtMSB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYtMiB7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICB9XHJcbiAgICAmLTMge1xyXG4gICAgICAgIG9yZGVyOiAzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVkaXVtLW9yZGVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgJi0xIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLTIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sYXJnZS1vcmRlciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgJi0xIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLTIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmhpZGUtbW9iaWxlIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uaGlkZS1kZXNrdG9wIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gQ2xhc3Nlc3NcbiRtb2R1bGU6ICcubGlzdCc7XG4jeyRtb2R1bGV9IHtcbiAgJi1pbmxpbmUtaXRlbXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIGNvbG9yOiRsaWdodC1ncmF5O1xuICAgICAgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLXVuc3R5bGVkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbiAgJi1jaGVjay1ib3gge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgPiBsaSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMCA2cHg7XG4gICAgICB9XG4gICAgICAucm91bmRlZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuXG4gICAgICAgIC5zd2F0Y2gge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmY2ZmZjQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICY6Y2hlY2tlZCArIC5zd2F0Y2g6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoOmNoZWNrZWQpICsgLnN3YXRjaCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgfVxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubm8tYnVsbGV0IHtcclxuICAgICYgdWwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgfVxyXG59XG5cbi5zbWFsbC11cC0yIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAmID4gLmNvbHVtbiB7XHJcbiAgICAgICAgZmxleDowIDAgNTAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAubWVkaXVtLXVwLTMge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgICAgJiA+IC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBmbGV4OjAgMCAzMy4zMzMzMyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XG59XG4iLCIvL2NvbG9yc1xyXG4kYmxhY2s6ICMwMDA7XHJcblxyXG4vL3VybHNcclxuJHVybF8wOiB1cmwob3dsLnZpZGVvLnBsYXkucG5nKTtcclxuXHJcbi8vQGV4dGVuZC1lbGVtZW50c1xyXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xyXG4vLy5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldiwgLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdFxyXG4lZXh0ZW5kXzEge1xyXG4gIGJhY2tncm91bmQ6IDAgMDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcblxyXG4ub3dsLWNhcm91c2VsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxO1xyXG5cclxuICAub3dsLWl0ZW0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgJi5vd2wtbGF6eSB7XHJcbiAgICAgICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLXN0eWxlKCRzdHlsZSlcclxuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC1sYXp5IHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcclxuXHJcbiAgICAgICY6bm90KFtzcmNdKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vd2wtbGF6eVtzcmNePVwiXCJdIHtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vd2wtc3RhZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiLlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vd2wtc3RhZ2Utb3V0ZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC5vd2wtd3JhcHBlciB7XHJcbiAgfVxyXG5cclxuICAub3dsLW5hdiB7XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAub3dsLW5leHQge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHVzZXItc2VsZWN0KCRzZWxlY3QpXHJcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5vd2wtcHJldiB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdClcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgJi5vd2wtbmV4dCB7XHJcbiAgICAgICAgQGV4dGVuZCAlZXh0ZW5kXzE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYub3dsLXByZXYge1xyXG4gICAgICAgIEBleHRlbmQgJWV4dGVuZF8xO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm93bC1sb2FkZWQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAub3dsLWRvdCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB1c2VyLXNlbGVjdCgkc2VsZWN0KVxyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLm93bC1sb2FkaW5nIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICYub3dsLWhpZGRlbiB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgJi5vd2wtZ3JhYiB7XHJcbiAgICBjdXJzb3I6IG1vdmU7XHJcbiAgICBjdXJzb3I6IGdyYWI7XHJcbiAgfVxyXG5cclxuICAmLm93bC1ydGwge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgLm93bC1pdGVtIHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGVkIHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgLm93bC1hbmltYXRlZC1pbiB7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gIH1cclxuXHJcbiAgLm93bC1hbmltYXRlZC1vdXQge1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIC5mYWRlT3V0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG4gIH1cclxuXHJcbiAgLm93bC12aWRlby13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICB9XHJcblxyXG4gIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcclxuICAgIGJhY2tncm91bmQ6ICR1cmxfMCBuby1yZXBlYXQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMXMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsMS4zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vd2wtdmlkZW8tcGxheWluZyB7XHJcbiAgICAub3dsLXZpZGVvLXBsYXktaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC12aWRlby10biB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3dsLXZpZGVvLXRuIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgLm93bC12aWRlby1mcmFtZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAub3dsLWRvdHMuZGlzYWJsZWQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbi5vd2wtZG90IHtcclxuICAgIEBleHRlbmQgJWV4dGVuZF8xO1xyXG4gIH1cclxuXHJcbiAgJi5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgJi5vd2wtZHJhZyAub3dsLWl0ZW0ge1xyXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHVzZXItc2VsZWN0KCRzZWxlY3QpXHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5vd2wtaGVpZ2h0IHtcclxuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKVxyXG4gIHRyYW5zaXRpb246IGhlaWdodCAuNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5uby1qcyAub3dsLWNhcm91c2VsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4iLCIkbW9kdWxlOiAnLnByb3BlcnR5JztcclxuXHJcbiN7JG1vZHVsZX0ge1xyXG4gICYtbmFtZXtcclxuICAgIGgxe1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vdG9wOiAyMHB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH0gICAgXHJcbiAgfVxyXG4gICYtY29udGVudHtcclxuICAgIC5pY29ueyBcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMTVweDtcclxuICAgIH1cclxuICAgICY6YWZ0ZXJ7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBncmVlbjtcclxuICAgICAgd2lkdGg6IDhyZW07XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdG9wOiAwLjhyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWltYWdle1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgJi1oZWFkZXJ7IFxyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAmLWZvb3RlcntcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtc3ltYmFse1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgIC5wcm9qZWN0IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxufSIsIi8qKkNIT1NFTioqL1xyXG4kY2hvc2VuLXNwcml0ZTogdXJsKCdjaG9zZW4tc3ByaXRlLnBuZycpICFkZWZhdWx0O1xyXG4kY2hvc2VuLXNwcml0ZS1yZXRpbmE6IHVybCgnY2hvc2VuLXNwcml0ZUAyeC5wbmcnKSAhZGVmYXVsdDtcclxuXHJcbi8qIEBncm91cCBCYXNlICovXHJcbi5jaG9zZW4tY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAqIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWRyb3Age1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTAxMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoIzAwMCwuMTUpO1xyXG4gICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcclxuICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSAxMDAlKTtcclxuICB9XHJcblxyXG4gICYuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLWRyb3Age1xyXG4gICAgY2xpcDogYXV0bztcclxuICAgIGNsaXAtcGF0aDogbm9uZTtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgLnNlYXJjaC1jaG9pY2UsIC5jaG9zZW4tc2luZ2xlIHtcclxuICAgIC5ncm91cC1uYW1lIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBjb2xvcjogIzk5OTk5OTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLyogQGVuZCAqL1xyXG5cclxuLyogQGdyb3VwIFNpbmdsZSBDaG9zZW4gKi9cclxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcclxuICAuY2hvc2VuLXNpbmdsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwIDAgMCA4cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmIDIwJSwgI2Y2ZjZmNiA1MCUsICNlZWUgNTIlLCAjZjRmNGY0IDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggI2ZmZiBpbnNldCwgMCAxcHggMXB4IHJnYmEoIzAwMCwuMSk7XHJcbiAgICBjb2xvcjogIzQ0NDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tZGVmYXVsdCB7XHJcbiAgICBjb2xvcjogIzk5OTtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tc2luZ2xlIHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyNnB4O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1zaW5nbGUtd2l0aC1kZXNlbGVjdCBzcGFuIHtcclxuICAgIG1hcmdpbi1yaWdodDogMzhweDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tc2luZ2xlIGFiYnIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA2cHg7XHJcbiAgICByaWdodDogMjZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY2hvc2VuLXNwcml0ZSAtNDJweCAxcHggbm8tcmVwZWF0O1xyXG4gICAgZm9udC1zaXplOiAxcHg7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jaG9zZW4tZGlzYWJsZWQgLmNob3Nlbi1zaW5nbGUgYWJicjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tc2luZ2xlIGRpdiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgYiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY2hvc2VuLXNwcml0ZSBuby1yZXBlYXQgMHB4IDJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jaG9zZW4tc2VhcmNoIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDEwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogM3B4IDRweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICBtYXJnaW46IDFweCAwO1xyXG4gICAgICBwYWRkaW5nOiA0cHggMjBweCA0cHggNXB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY2hvc2VuLXNwcml0ZSBuby1yZXBlYXQgMTAwJSAtMjBweDtcclxuICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1kcm9wIHtcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgfVxyXG5cclxuICAmLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XHJcbiAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUgMTAwJSk7XHJcbiAgfVxyXG59XHJcbi8qIEBlbmQgKi9cclxuXHJcbi8qIEBncm91cCBSZXN1bHRzICovXHJcbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyB7XHJcbiAgY29sb3I6ICM0NDQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG1hcmdpbjogMCA0cHggNHB4IDA7XHJcbiAgcGFkZGluZzogMCAwIDAgNHB4O1xyXG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDVweCA2cHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcblxyXG4gICAgJi5hY3RpdmUtcmVzdWx0IHtcclxuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZC1yZXN1bHQge1xyXG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjMzg3NWQ3IDIwJSwgIzJhNjJiYyA5MCUpO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAmLm5vLXJlc3VsdHMge1xyXG4gICAgICBjb2xvcjogIzc3NztcclxuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gICAgfVxyXG5cclxuICAgICYuZ3JvdXAtcmVzdWx0IHtcclxuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgICYuZ3JvdXAtb3B0aW9uIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGVtIHtcclxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLyogQGVuZCAqL1xyXG5cclxuLyogQGdyb3VwIE11bHRpIENob3NlbiAqL1xyXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSB7XHJcbiAgLmNob3Nlbi1jaG9pY2VzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAxJSwgI2ZmZiAxNSUpO1xyXG4gICAgY3Vyc29yOiB0ZXh0O1xyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1jaG9pY2VzIGxpIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAmLnNlYXJjaC1maWVsZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgICBtYXJnaW46IDFweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnNlYXJjaC1jaG9pY2Uge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbjogM3B4IDVweCAzcHggMDtcclxuICAgICAgcGFkZGluZzogM3B4IDIwcHggM3B4IDVweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlIDEwMCUpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTlweDtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMnB4ICNmZmYgaW5zZXQsIDAgMXB4IDAgcmdiYSgjMDAwLC4wNSk7XHJcbiAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgIHJpZ2h0OiAzcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjaG9zZW4tc3ByaXRlIC00MnB4IDFweCBuby1yZXBlYXQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWFyY2gtY2hvaWNlLWRpc2FibGVkIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZSAxMDAlKTtcclxuICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWFyY2gtY2hvaWNlLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogI2Q0ZDRkNDtcclxuXHJcbiAgICAgIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1yZXN1bHRzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWRyb3AgLnJlc3VsdC1zZWxlY3RlZCB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgICBjb2xvcjogI2NjYztcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcbn1cclxuLyogQGVuZCAqL1xyXG5cclxuLyogQGdyb3VwIEFjdGl2ZSAgKi9cclxuLmNob3Nlbi1jb250YWluZXItYWN0aXZlIHtcclxuICAuY2hvc2VuLXNpbmdsZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKCMwMDAsLjMpO1xyXG4gIH1cclxuXHJcbiAgJi5jaG9zZW4td2l0aC1kcm9wIHtcclxuICAgIC5jaG9zZW4tc2luZ2xlIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZWVlIDIwJSwgI2ZmZiA4MCUpO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDFweCAwICNmZmYgaW5zZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNob3Nlbi1zaW5nbGUgZGl2IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4cHggMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWNob2ljZXMge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgjMDAwLC4zKTtcclxuXHJcbiAgICBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICBjb2xvcjogIzIyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vKiBAZW5kICovXHJcblxyXG4vKiBAZ3JvdXAgRGlzYWJsZWQgU3VwcG9ydCAqL1xyXG4uY2hvc2VuLWRpc2FibGVkIHtcclxuICBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gIC5jaG9zZW4tc2luZ2xlIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tY2hvaWNlcyAuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG59XHJcbi8qIEBlbmQgKi9cclxuXHJcbi8qIEBncm91cCBSaWdodCB0byBMZWZ0ICovXHJcbi5jaG9zZW4tcnRsIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgLmNob3Nlbi1zaW5nbGUge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBwYWRkaW5nOiAwIDhweCAwIDA7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNnB4O1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM4cHg7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLXNpbmdsZSBkaXYge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAzcHg7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLXNpbmdsZSBhYmJyIHtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogMjZweDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tY2hvaWNlcyBsaSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgJi5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIH1cclxuXHJcbiAgICAmLnNlYXJjaC1jaG9pY2Uge1xyXG4gICAgICBtYXJnaW46IDNweCA1cHggM3B4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDNweCA1cHggM3B4IDE5cHg7XHJcblxyXG4gICAgICAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbGVmdDogNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tcmVzdWx0cyB7XHJcbiAgICBtYXJnaW46IDAgMCA0cHggNHB4O1xyXG4gICAgcGFkZGluZzogMCA0cHggMCAwO1xyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLW9wdGlvbiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgJi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiB7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICBwYWRkaW5nOiA0cHggNXB4IDRweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNob3Nlbi1zcHJpdGUgbm8tcmVwZWF0IC0zMHB4IC0yMHB4O1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcclxuICAgIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNnB4IDJweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmNob3Nlbi13aXRoLWRyb3Age1xyXG4gICAgICAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEycHggMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBAZW5kICovXHJcblxyXG4vKiBAZ3JvdXAgUmV0aW5hIGNvbXBhdGliaWxpdHkgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSB7XHJcbiAgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGFiYnIsXHJcbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiLFxyXG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2UsXHJcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzLXNjcm9sbC1kb3duIHNwYW4sXHJcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzLXNjcm9sbC11cCBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjaG9zZW4tc3ByaXRlLXJldGluYSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA1MnB4IDM3cHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLyogQGVuZCAqL1xyXG5cclxuXHJcblxyXG4vKipVVElMSVRZKiovXHJcblxyXG4uaGlkZGVuLXhzIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnZpc2libGUteHMge1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5zZWFyY2gtbWV0YSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDI3cHg7XHJcbiAgICB0b3A6IDExcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4gIGlucHV0IHtcclxuICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlcjogc29saWQgMnB4ICNhYWE7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAuaWNvbi14c21hbGwge1xyXG4gICAgd2lkdGg6IDIxcHg7XHJcbiAgICBoZWlnaHQ6IDIxcHg7XHJcbiAgfVxyXG59XHJcbi8qRklMVEVSIENTUyovXHJcbi5zZWFyY2gtbWV0YS5jb2x1bW4ge1xyXG4gIC50eXBlLWhlYWRlci14c21hbGwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLnRvZ2dsZS1pdGVtcyB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlciB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1hcmdpbjogMnJlbSAxcmVtIDA7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjM5cHgpIHtcclxuICAgIG1hcmdpbjogMnJlbSAycmVtIDA7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiBRdWlja3NhbmQsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2Utb3V0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgJi50ZXJ0aWFyeSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogI2E2OTY2YTtcclxuICAgICAgY29sb3I6ICNhNjk2NmE7XHJcblxyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjYTY5NjZhO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5maWxsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6ICNhNjk2NmE7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNhNjk2NmE7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICNhNjk2NmE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJ0bi1jbGVhciB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgY29sb3I6ICNhNjk2NmE7XHJcblxyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogNTVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtaW4td2lkdGg6IDEyMHB4O1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgaDQge1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcblxyXG4gIGZvcm0ge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXR5cGUge1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNoZWNrcyB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICsgbGFiZWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweCAyM3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNhYWE7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcclxuICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjcxM1wiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBib3JkZXI6IHNvbGlkIDJweCAjYWFhO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC1mYW1pbHk6IFF1aWNrc2FuZCxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHBhZGRpbmc6IDdweCAwIDdweCA1cHg7XHJcblxyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiA5cHggMCA5cHggNXB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIC5jaG9zZW4tZHJvcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2hvc2VuLXJlc3VsdHMge1xyXG4gICAgICAgIG1hcmdpbjogMCA0cHggNHB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNHB4O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHggNnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcclxuICAgICAgLmNob3Nlbi1zaW5nbGUge1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LWZhbWlseTogUXVpY2tzYW5kLEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDAgN3B4IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA3cHg7XHJcbiAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgIGIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkge1xyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmLnJlc3VsdC1zZWxlY3RlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzY2NjtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlxcZjEwNlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRhdGUge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlY3Rpb24ge1xuICAmLXRpdGxlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgICB3aWR0aDoyMDVweDtcbiAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAmLWNlbnRlcmVkIHtcbiAgICAgIEBleHRlbmQgLnNlY3Rpb24tdGl0bGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYtbGVmdHtcbiAgICAgIEBleHRlbmQgLnNlY3Rpb24tdGl0bGU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuICAmLXRpdGxlLXNtYWxse1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIHdpZHRoOjNyZW07XG4gICAgICBib3JkZXItYm90dG9tOjNweCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuICB9XG59XG4iLCJcclxuLyoqQ09QWSBCRUxPVyoqL1xyXG5cclxuLnN0YXRpY21hcCB7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICB3aWR0aDogYXV0bztcclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgLmtleSB7XHJcbiAgICBtYXgtd2lkdGg6IDY1NXB4O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAycHggI2QzZDNkMztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCA1cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiRUIgR2FyYW1vbmRcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xyXG5cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMTdweDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDdweDtcclxuXHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW46IDAgMCA1cHggNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMmVtO1xyXG5cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRvdCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMxZDc4OGY7XHJcbiAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICBsZWZ0OiAtNHB4O1xyXG4gICAgICAgICAgdG9wOiAtNHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgIHRvcDogLTVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGluZSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzFkNzg4ZjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdGF0aWNtYXAtaW1hZ2Uge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uZGlhbG9ncyAuZGlhbG9nLWJhY2tkcm9wIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiA1MDAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjcsIDI3LCAyNywgMCk7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmRpYWxvZ3MgLmRpYWxvZy1iYWNrZHJvcC5hY3RpdmUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjcsIDI3LCAyNywgMC45NSk7XHJcbn1cclxuXHJcbi5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogNTAwMDtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdG9wOiAwO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIHBhZGRpbmc6IDQuNXJlbSAyLjVyZW0gMi41cmVtO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XHJcbiAgICBwYWRkaW5nOiAyLjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdLmhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIHotaW5kZXg6IDUwMDA7XHJcbiAgcmlnaHQ6IDE1cHg7XHJcbiAgdG9wOiA0cmVtO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgcmlnaHQ6IDc1cHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcclxuICAgIHRvcDogMnJlbTtcclxuICB9XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuXHJcbiAgICBwYXRoIHtcclxuICAgICAgZmlsbDogI2ZmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dzIFtyb2xlPVwiZGlhbG9nXCJdIGJ1dHRvbi5jbG9zZTpob3ZlciwgLmRpYWxvZ3MgW3JvbGU9XCJkaWFsb2dcIl0gYnV0dG9uLmNsb3NlOmZvY3VzIHtcclxuICBvcGFjaXR5OiAuNTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kaWFsb2dzID4gZGl2ID4gZGl2IHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLnNpbmdsZS1pdGVtIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogNDBweCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zaW5nbGUtaW1hZ2Uge1xyXG4gIGZpZ3VyZSB7XHJcbiAgICBtYXgtd2lkdGg6IDc0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnRhYnMge1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3ctYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuXG4gICYtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOjAgMS41cmVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9IFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG4gICAgfSAgICBcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IGEge1xuICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRoaWdobGlnaHQtY29sb3I7XG4gICAgICB9XG4gICAgICAmOmZvY3VzLFxuICAgICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cbiBcbiAgJi52ZXJ0aWNhbHsgXG4gICAgdWx7IFxuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgIGxpe1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBhe1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5mYXEtcXVlc3Rpb25ze1xuICAgICAgICBsaXtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTEuNGVtO1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogXCJRXCI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuaXMtYWN0aXZle1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH0gICAgIFxuICAgIH1cbiAgICAudGFicy10aXRsZXsgXG4gICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICAubHQtc2VjdGlvbi1wYWRkaW5nLW1lZGl1bS1hbGx7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cbiAgfSAgXG4gICYtcGFuZWx7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcclxuICAgICAgfVxyXG4gIH1cbn1cbi5mYXEtYW5zd2Vyc3tcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAuY2xvc2UtYnV0dG9ue1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9ICAgIFxuICB9ICBcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDBweDtcbiAgICByaWdodDogMDsgICAgXG4gIH0gIFxufVxuXG4uZXZlbnRzLXRhYnMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH0gXG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zaXplcywgc21hbGwpLCBoNCkpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDk3NXB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zaXplcywgc21hbGwpLCBoNikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG5cbiAgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuICB0ciB7XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgIH1cbiAgfVxuICAmLXNtYWxse1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgdHJ7XG4gICAgICAgIHRkeyBcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNDM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjQzNzVyZW07XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDgpO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43Mzc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41Mzc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNTM3NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzM3NXJlbTtcbiAgICAgICAgICB9ICBcbiAgICAgICAgfVxuICAgICAgfSAgICAgXG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gIH1cblxufVxuLnNtYWxsLXRhYmxle1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgd2lkdGg6IDMxM3B4O1xyXG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xyXG4gIH1cclxufVxuLnNtYWxsLW92ZXJmbG93LXh7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcbiAgfVxyXG59XG5cblxuLmdudyB7XHJcbiAgICAmX3RhYmxlX2JvcmRlcl9jb2xsYXBzZSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmX3ZlcnRpY2FsX2FsaWduIHtcclxuICAgICAgICAmX3RvcCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX2JvdHRvbSB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfbWlkZGxlIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9hbGlnbiB7XHJcbiAgICAgICAgJl9sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfcmlnaHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfY2VudGVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX2p1c3RpZnkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX3BhZGRpbmcge1xyXG4gICAgICAgICZfbGVmdF9ub25lIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX3JpZ2h0X25vbmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfYm9yZGVyIHtcclxuICAgICAgICAmX3RvcCB7XHJcbiAgICAgICAgICAgICZfc29saWQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfZG91YmxlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBkb3VibGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9ib3R0b20ge1xyXG4gICAgICAgICAgICAmX3NvbGlkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9kb3VibGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IGRvdWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9sZWZ0IHtcclxuICAgICAgICAgICAgJl9zb2xpZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX2RvdWJsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IGRvdWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9yaWdodCB7XHJcbiAgICAgICAgICAgICZfc29saWQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfZG91YmxlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogM3B4IGRvdWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX2hlYWRpbmcsICZfc3ViaGVhZCwgJl9jb2xoZWFkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9jb2xoZWFkX3VsaW5lIHtcclxuICAgICAgICBAZXh0ZW5kIC5nbndfaGVhZGluZztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9jb2xoZWFkX2RsaW5lIHtcclxuICAgICAgICBAZXh0ZW5kIC5nbndfaGVhZGluZztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggZG91YmxlO1xyXG4gICAgfVxyXG5cclxuICAgICZfbGFiZWwge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgJl91bGluZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xyXG5cclxuICAgICAgICAgICAgJl9pMTAge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsX3VsaW5lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfaTE1IHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbF91bGluZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9pMjAge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsX3VsaW5lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX2kyNSB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5nbndfbGFiZWxfdWxpbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfaTMwIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbF91bGluZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJnRvcCB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5nbndfbGFiZWxfdWxpbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX2RsaW5lIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggZG91YmxlO1xyXG5cclxuICAgICAgICAgICAgJl9pMTAge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsX2RsaW5lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfaTE1IHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbF9kbGluZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9pMjAge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsX2RsaW5lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX2kyNSB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5nbndfbGFiZWxfZGxpbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfaTMwIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbF9kbGluZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfaTEwIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX2kxNSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9pMjAge1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5nbndfbGFiZWw7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfaTI1IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuZ253X2xhYmVsO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX2kzMCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmdud19sYWJlbDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX251bSB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICZfdWxpbmUge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XHJcblxyXG4gICAgICAgICAgICAmdG9wIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9kbGluZSB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3VibGU7XHJcblxyXG4gICAgICAgICAgICAmdG9wIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBkb3VibGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9kYXRhIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgJl91bGluZSB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcclxuXHJcbiAgICAgICAgICAgICZ0b3Age1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX2RsaW5lIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IGRvdWJsZTtcclxuXHJcbiAgICAgICAgICAgICZ0b3Age1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IGRvdWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxcmVtOyAvLzE2cHhcbn1cblxuXG5we1xuICBhe1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbiRtb2R1bGU6ICcudHlwZSc7XG4jeyRtb2R1bGV9IHtcblxuICAgICYtaGVhZGVyIHtcblxuICAgICAgICAmLXh4bGFyZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXNpemVzLCBzbWFsbCksIGgxKSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXNpemVzLCBtZWRpdW0pLCBoMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi14bGFyZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXNpemVzLCBzbWFsbCksIGgxKSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXNpemVzLCBtZWRpdW0pLCBoMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1sYXJnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc2l6ZXMsIHNtYWxsKSwgaDIpKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc2l6ZXMsIG1lZGl1bSksIGgyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLW1lZGl1bSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc2l6ZXMsIHNtYWxsKSwgaDMpKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc2l6ZXMsIG1lZGl1bSksIGgzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNtYWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zaXplcywgc21hbGwpLCBoNCkpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zaXplcywgbWVkaXVtKSwgaDQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYteHNtYWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zaXplcywgc21hbGwpLCBoNSkpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zaXplcywgbWVkaXVtKSwgaDUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYteHhzbWFsbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc2l6ZXMsIHNtYWxsKSwgaDYpKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc2l6ZXMsIG1lZGl1bSksIGg2KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWFjY2VudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MSU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC01MCUgLSAxcmVtKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNlY3Rpb24ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWxlZnQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtc21hbGwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtZ3JheSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNzA3MDcwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjc1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1icmVhay13b3JkIHtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1hcnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgNHB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXh4bGFyZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXhsYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNik7XG4gICAgfVxuXG4gICAgJi1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgfVxuXG4gICAgJi1tZWRpdW0ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgJi1zbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXhzbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMCk7XG4gICAgfVxuXG4gICAgJi14eHNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDgpO1xuICAgIH1cblxuICAgICYtYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJi1hbGlnbi1sZWZ0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmLWFsaWduLWNlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLWFsaWduLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJi1hbGlnbi1sZWZ0LXNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRhdGUge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIH1cblxuICAgICYtbGVnYWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTApO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIH1cblxuICAgICYtcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICB9XG5cbiAgICAmLXNlY29uZGFyeSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1hbHRlcm5hdGUtZm9udDtcbiAgICB9XG5cbiAgICAmLWxpZ2h0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAmLW1lZGl1bS1jb2xvciB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuXG4gICAgJi1kYXJrLWNvbG9yIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgJi1jb2xvciB7XG4gICAgICAgICYtcHJpbWFyeSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGVydGlhcnkge1xuICAgICAgICAgICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXdoaXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtdXBwZXJjYXNlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmLXBhZ2UtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYtYWNjZW50IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXVuZGVyLWRhc2gge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhyKCkgbGVmdDo1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAuODc1cmVtIGF1dG8gMXJlbSAtMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGluayB7XG4gICAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICBmb250LWZhbWlseTokYm9keS1hbHRlcm5hdGUtZm9udDtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxcmVtO1xuICByaWdodDogMXJlbTtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggI2ZmZjtcbiAgLy86YmVmb3JlIHtcbiAgLy8gIGNvbnRlbnQ6ICdcXDJCMDZcXEEnO1xuICAvLyAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgLy99XG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gIH1cbn1cbiIsIi5iYWRnZXtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOmNlbnRlcjtcblxuXG4gICYubm8tYWNjZW50IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cblxuICAmLW1lZGl1bXtcbiAgICBoZWlnaHQ6IDIxNHB4O1xuICAgIHdpZHRoOiAyMTRweDsgXG4gIH1cbiAgXG5cbiAgJi1sYXJnZSB7XG4gICAgd2lkdGg6IDI0NnB4O1xuICAgIGhlaWdodDogMjQ2cHg7XG4gICAgJi1yZXNwb25zaXZle1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgICAgIGhlaWdodDogMjA1cHg7XG4gICAgICAgIHdpZHRoOiAyMDVweDtcbiAgICAgICAgLnN0YXQtZmlndXJlLmlzLWxhcmdlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBcclxuICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogMzc1cHgpIFxyXG4gICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiA2NjdweCkgXHJcbiAgICAgIGFuZCAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHsgXHJcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgfVxuICAgICAgICAuc3RhdHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYm9yZGVye1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICB9XG5cbiAgJi5pcy1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMFxuICB9XG5cbn1cbiIsIi5vcmJpdC1jb250YWluZXIge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiAgXHJcbiAgICBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHsgIFxyXG4gICAgaGVpZ2h0OiAzNjJweDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBcclxuICAgIGFuZCAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHsgIFxyXG4gICAgaGVpZ2h0OiA1NTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogNjY3cHgpIHtcclxuICAgIGhlaWdodDogMzYycHg7IFxyXG4gIH1cclxuICBcclxufVxyXG5cclxuLmJhbm5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICYtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cclxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gXHJcbiAgICAgIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDc2OHB4KSBcclxuICAgICAgYW5kIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7ICBcclxuICAgICAgaGVpZ2h0OiAzNjJweDtcclxuICAgIH1cclxuXHJcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIFxyXG4gICAgICBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7ICBcclxuICAgICAgaGVpZ2h0OiA1NTBweDtcclxuICAgIH1cclxuXHJcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogNjY3cHgpIHtcclxuICAgICAgICBoZWlnaHQ6IDM2MnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vc21hbGwgc2NyZWVuc1xyXG4gICAgaW1nIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogYXV0bzsgXHJcbiAgICAgIH0gXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQ1MHB4KSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZm9jdXNwb2ludCB7XHJcbiAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLWNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdygpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oJ21pZGRsZScpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgcGFkZGluZy10b3A6IDM0cHg7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6NTFweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgICAgfVxyXG4gICAgICAuYmFubmVyLXRpdGxle1xyXG5cdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0ICAgICAgICBmb250LXNpemU6IDQ1cHg7XHJcblx0ICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtc21hbGwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblx0XHQuYmFubmVyLWJhY2tncm91bmQtaW1hZ2Uge1xyXG5cdCAgICBoZWlnaHQ6IDI1NHB4O1xyXG5cdCAgICB3aWR0aDogMTAwJTtcclxuXHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQgICAgICBoZWlnaHQ6IDIwM3B4O1xyXG5cdCAgICB9XHJcblxyXG5cdCAgICAvL3NtYWxsIHNjcmVlbnNcclxuXHQgICAgaW1nIHtcclxuXHQgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ICAgICAgZGlzcGxheTogYmxvY2s7XHJcblx0ICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cdCAgICAgIHdpZHRoOiBhdXRvO1xyXG5cdCAgICAgIG1heC13aWR0aDogbm9uZTtcclxuXHQgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdCAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG5cdCAgICAgICAgd2lkdGg6IDEwMCU7XHJcblx0ICAgICAgfVxyXG5cdCAgICB9XHJcblx0ICB9XHJcblxyXG4gICAgJiAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWltYWdlLWNhcHRpb24ge1xyXG4gICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICB9XHJcbn1cclxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOjAgMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xuICBib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKGJsYWNrLCAwLjEpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgY29udGVudDogXCI+XCI7XG4gICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgdG9wOjBweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmb250LWZhbWlseTogJG1lbnUtZm9udDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgfVxuICAgIC5iYy10eXBlLXNlY29uZGFyeSB7XHJcbiAgICAgICAgQGV4dGVuZCAudHlwZS1zZWNvbmRhcnk7XHJcbiAgICAgICAgY29sb3I6IGdyYXk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtZW51LWZvbnQ7XHJcbiAgICB9XG4gIH1cbiAgbGk6bGFzdC1jaGlsZCB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjY2FsZW5kYXIge1xuXHQuY2xuZHIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRwYWRkaW5nOiAyMHB4IDEwcHg7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LmNsbmRyLWNvbnRyb2xzIHtcblx0XHRcdHBhZGRpbmc6IDAgMCAyMHB4IDEwcHg7XG5cblx0XHRcdC5kYXRlIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRjb2xvcjogIzhiOGI4Yjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGJvcmRlci13aWR0aDogMTJweCAwIDEycHggMTFweDtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGJsYWNrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAzcHg7XG5cdFx0XHRyaWdodDogLTExcHg7XG5cdFx0fVxuXG5cdFx0LmNsbmRyLWdyaWQge1xuXHRcdFx0LmRheXMtb2YtdGhlLXdlZWsge1xuXHRcdFx0XHQuaGVhZGVyLWRheXMge1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0XHQuaGVhZGVyLWRheSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiAxNC4yOCU7XG5cdFx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZGF5cyB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5kYXkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTQuMjglO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4IDcuNXB4O1xuXG5cdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji50b2RheSB7XG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNhNjk1NzI7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5ldmVudCB7XG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNhNjk1NzI7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIub3JiaXQge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAzNjJweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGhlaWdodDogNTUwcHg7XG5cdH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgXHJcbiAgICAgICAgaGVpZ2h0OiAzNjJweDtcclxuICAgIH1cblxuXHQmLW5leHQge1xuXHRcdHJpZ2h0OiA4cHg7XG5cdH1cblxuXHQmLW5leHQsICYtcHJldmlvdXMge1xuXHRcdHBhZGRpbmc6MDtcblx0XHR3aWR0aDogMzVweDtcblx0XHRsaW5lLWhlaWdodDogMnJlbTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAxM3B4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHR3aWR0aDogNTZweDtcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7fVxuXHRcdH1cblx0fVxuXHQmLXByZXZpb3VzIHtcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0fVxuXG5cdCYuaW50ZXJpb3Ige1xuXHRcdG5hdi5vcmJpdC1idWxsZXRzIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGJvdHRvbTo5MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvL05ldyB1c2luZyBTQVNTIG5lc3Rpbmdcblx0bmF2Lm9yYml0LWJ1bGxldHMge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3R0b206IDVweDtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHR3aWR0aDowLjc1cmVtO1xuXHRcdFx0aGVpZ2h0OjAuNzVyZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLCAwKTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuc2luZ2xlIHtcblx0XHQub3JiaXQtYnVsbGV0cywgLm9yYml0LW5leHQsIC5vcmJpdC1wcmV2aW91cyB7XG5cdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0fVxuXHR9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnl7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjI1KTtcclxuICAgIH1cbn1cbiIsIi5jYXRlZ29yeS1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIEBleHRlbmQgLnR5cGUtYWxpZ24tY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBleHRlbmQgLmxpc3QtdW5zdHlsZWQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhyKCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyOHB4IGF1dG8gMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZGF0ZS10aXRsZXtcbiAgdGFibGV7XG4gICAgdHJ7XG4gICAgICB0ZHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5maWx0ZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcclxuICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogMzc1cHgpIFxyXG4gICAgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogNjY3cHgpIFxyXG4gICAgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgeyBcclxuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5maWx0ZXItYmFyIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLmZpbHRlci1zZWxlY3Qge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICRtZWRpdW0tZ3JheTtcclxuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICBwYWRkaW5nOiAwLjYyNXJlbTtcclxuICBtaW4td2lkdGg6IDhyZW07XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIDphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMXJlbTtcclxuICAgIHJpZ2h0OiAwLjVyZW07XHJcbiAgICB3aWR0aDogMXJlbTtcclxuICAgIGhlaWdodDogMXJlbTtcclxuICAgIC8vQGluY2x1ZGUgYmFja2dyb3VuZC1hcnJvdygnZG93bicsICRtZWRpdW0tZ3JheSk7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWFycm93KCdkb3duJywgYmxhY2spO1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi50aHVtYm5haWwtZ3JpZCwgLmxpc3QtZ3JpZCB7XHJcbiAgLnRodW1ibmFpbCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgY3Vyc29yOmRlZmF1bHQ7XHJcbiAgICAmLmhhcy1jdXJzb3Ige1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRodW1ibmFpbC1ncmlkIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAudGh1bWJuYWlsIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5saXN0LWdyaWQge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgLmxpc3QtaXRlbSB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBoZWlnaHQ6IDIzNnB4O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIFxyXG4gICAgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBcclxuICAgIGFuZCAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHsgaGVpZ2h0OiBhdXRvO30gIFxyXG4gICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAxMXB4O1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblxyXG4gICAgJi5oYXMtY3Vyc29yIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMXB4O1xyXG4gICAgICAgIGhlaWdodDogMTQ1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZlYXR1cmVkIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgICBoNCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb3BlcnR5LXRpdGxle1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XHJcbiAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07XHJcbiAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTApO1xyXG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTApO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGlzdC10aHVtYm5haWwge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDIuNSk7XHJcbiAgICB9XHJcbiAgICAmLmNvbHVtbnMge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5mbG9hdC1yaWdodHtcclxuICAgICAgLnRodW1ibmFpbHtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgIG1heC13aWR0aDogMTUxcHg7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIC5saXN0LXN0YXQge1xyXG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxLjc1KTtcclxuICAgIG1hcmdpbi10b3A6LTAuN3JlbTtcclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXItc2VsZWN0IGg0IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5maWx0ZXItdHlwZSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIFxyXG4gIC5pY29uIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBvcHVwLWZpbHRlci1kaWFsb2cge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDQ1cHg7XHJcbiAgdG9wOiAxMDBweDtcclxuICB3aWR0aDogOTAwcHg7XHJcbiAgJi1zbWFsbHtcclxuICAgIHRvcDogNTBweDtcclxuICAgIHdpZHRoOiAyNzVweDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcbiAgJi1tZWRpdW17XHJcbiAgICB0b3A6IDUwcHg7XHJcbiAgICB3aWR0aDogNjAwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICAuYXJyb3ctdXAge1xyXG4gIFx0d2lkdGg6IDA7XHJcbiAgXHRoZWlnaHQ6IDA7XHJcbiAgXHRib3JkZXItd2lkdGg6IDFyZW07XHJcbiAgXHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYmxhY2sgdHJhbnNwYXJlbnQgO1xyXG4gIFx0cG9zaXRpb246YWJzb2x1dGU7XHJcbiAgXHR0b3A6IC0ycmVtO1xyXG4gIFx0bGVmdDogMi42MjVyZW07XHJcbiAgfVxyXG4gIC5hcnJvdy11cC1yaWdodCB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci13aWR0aDogMXJlbTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRibGFjayB0cmFuc3BhcmVudCA7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDogLTJyZW07XHJcbiAgICByaWdodDogMi42MjVyZW07XHJcbiAgfSAgXHJcbiAgLmFycm93LWRvd24ge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItd2lkdGg6IDFyZW07XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYmxhY2sgdHJhbnNwYXJlbnQgO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBib3R0b206IC0ycmVtO1xyXG4gICAgcmlnaHQ6IDIuNjI1cmVtO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICB9ICBcclxuICAuZm9ybV9fYnV0dG9ucyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0b3A6IDc1cHg7XHJcblxyXG4gICAgICBoMi50eXBlLWhlYWRlci1tZWRpdW0ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hcnJvdy11cCB7XHJcbiAgICAgICAgbGVmdDogNS41cmVtO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucG9wdXAtZmlsdGVyLWRpYWxvZy5vcGVuZWQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5jbG9zZS1wb3B1cCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAycmVtO1xyXG4gIGhlaWdodDogMnJlbTtcclxuICB0b3A6IDFyZW07XHJcbiAgcmlnaHQ6IDFyZW07XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5jbG9zZS1wb3B1cDo6YmVmb3JlLCAuY2xvc2UtcG9wdXA6OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAwLjEyNXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICB0b3A6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiAjNEQ0RDREO1xyXG59XHJcbi5jbG9zZS1wb3B1cDo6YmVmb3JlIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuLmNsb3NlLXBvcHVwOjphZnRlciB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuLmZvcm0taW52ZXJzZSB7XHJcbiAgaW5wdXQge1xyXG4gICAgJlt0eXBlPWNoZWNrYm94XSB7XHJcbiAgICAgICYgKyBsYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS10aXRsZSB7XHJcbiAgOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICB9XHJcbn1cclxuXHJcbi50aXAtc2lnbiB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTApO1xyXG4gIHdpZHRoOiAwLjhyZW07XHJcbiAgaGVpZ2h0OiAwLjhyZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAkaGlnaGxpZ2h0LWNvbG9yO1xyXG59XHJcblxyXG4udGlwLXNpZ246YmVmb3JlIHtcclxuICBjb250ZW50OiAnPyc7XHJcbiAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMzMzMyB0cmFuc3BhcmVudCA7XHJcbiAgLmNvbHVtbnMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXItcm93IHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93biB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICA6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwLjVyZW07XHJcbiAgICByaWdodDogMC41cmVtO1xyXG4gICAgd2lkdGg6IDFyZW07XHJcbiAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWFycm93KCdkb3duJywgd2hpdGUpO1xyXG4gIH1cclxuICA6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICArIHVsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxODBweDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIGxpIHtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi5leHBhbmRlZCB7XHJcbiAgOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMC41cmVtO1xyXG4gICAgcmlnaHQ6IDAuNXJlbTtcclxuICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1hcnJvdygndXAnLCB3aGl0ZSk7XHJcbiAgfVxyXG4gICsgdWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcbiIsIlxuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy9tYXJnaW4tdG9wOiAtNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gIH1cblxuICAmLWJnIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjgwJTtcbiAgICBsZWZ0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICAuZm9ybSB7XG4gICAgbWFyZ2luLXRvcDozcmVtO1xuICAgICZfYnV0dG9ucyB7XG4gICAgICBtYXJnaW4tdG9wOjVyZW07XG4gICAgfVxuXG4gICAgLmVtYWlsLXN1Ym1pdCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAmX25hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICB9XG4gIH1cblxuICAudGVybXMge1xuICAgIGZvbnQtc2l6ZTowLjc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiRib2R5LWFsdGVybmF0ZS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICBkaXNwbGF5OnRhYmxlO1xuICAgIHRhYmxlLWxheW91dDpmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7XG5cbiAgICBsaSB7XG4gIFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICRibGFjaztcblxuICBcdFx0JjpsYXN0LWNoaWxkIHtcbiAgXHRcdFx0Ym9yZGVyOjA7XG4gIFx0XHR9XG4gIFx0fVxuICB9XG5cbiAgLnZhbGlkYXRpb24tdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxufVxuIiwiLm5hdmxpc3R7XG4gICAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgc3BhbntcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgfVxuICB9XG4gIC5saXN0MXtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtO1xuICB9XG59XG4iLCJcbi5oZWFkZXIge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB3aWR0aDoxMDAlO1xuICB6LWluZGV4OjI7XG4gIC5pcy1tZW51ICYge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuOSk7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIC5oZWFkZXItdXBwZXJ7XHJcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItdXBwZXIge1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6MTAwO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgcGFkZGluZy10b3A6MTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cblxuICAmLWxvd2VyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuLmhlcm8ge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgd2lkdGg6MTAwJTtcbiAgei1pbmRleDoxO1xufVxuIiwiLmljb257XG4gICYtcHJldmlvdXN7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgdG9wOiA4cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbGVmdDogLTYlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgID5oM3tcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzAlO1xuICAgIH1cbiAgICA+YXtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDExcHggMTVweDtcbiAgICB9XG4gIH1cbiAgJi1uZXh0e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTJweDtcbiAgICB0b3A6IDhyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICByaWdodDogLTYlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgID5oM3tcbiAgICAgIG1hcmdpbi1yaWdodDogLTE3JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwJTtcbiAgICB9XG5cbiAgICA+YXtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDExcHggMTVweDtcbiAgICB9XG4gIH1cbiAgJi10ZXh0e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOjAuNXJlbTtcbiAgICAuaWNvbi1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTApO1xuICAgICAgY29sb3I6JG1lZGl1bS1ncmF5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgfVxuICB9XG4gICYtcGx1c3tcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQ1JTtcbiAgICB0b3A6IC0xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBwYWRkaW5nOjAuMTVyZW0gMC42cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBsZWZ0OjQ4LjUlO1xuICAgIH1cbiAgfVxufVxuIiwiLmltYWdlLWJsb2NrIHtcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhjb2xsYXBzZSk7XG4gICYgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgJi1jb2xsYWdle1xuICAgICYtMXgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICB9IFxuICB9XG4gICYtMXgxIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi0xeDIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfSBcbiAgJi0yeDIge1xuICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbjogMCA1cHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9IFxuICB9XG59XG4uaW1hZ2UtYmxvY2stZ3JpZCB7ICBcbiAgJi0xeDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH0gXG59XG5AbWVkaWEgc2NyZWVuXFwwIHtcbiAgLmNvbGxhZ2Uuc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IDQ4M3B4O1xuICAgIC1tcy1mbGV4OiAxMDAlO1xuICAgIC13ZWJraXQtZmxleDogMTAwJTtcbiAgICBmbGV4OiAxMDAlO1xuICB9XHJcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkge1xuLmNvbGxhZ2V7XHJcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XHJcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcclxuICAgIGZsZXg6IDAgMCA1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxufSB9XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWluLWRldmljZS13aWR0aCA6IDM3NXB4KSBcclxuYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogNjY3cHgpIFxyXG5hbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7IFxyXG4uY29sbGFnZXtcclxuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcclxuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xyXG4gICAgZmxleDogMCAwIDUwJTtcclxuICAgIG1heC13aWR0aDogNTAlO1xyXG59XG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gIC5wcmVzcy1yZWxlYXNlID57XHJcbiAgICAuY29sdW1ue1xyXG4gICAgICAmOm50aC1jaGlsZCgxKXtcclxuICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoMil7XHJcbiAgICAgICAgb3JkZXI6IC0yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmxpc3QtdmlldyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZSAtb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiBpbml0aWFsO1xuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDVweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB9XG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgfVxuICAgID5oNSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgID5oNiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cbiAgfVxuICAuc3RhdCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAgMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMzBweDtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbi5saXN0LXZpZXcuZmVhdHVyZWQge1xuICAuc3RhdCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuIiwiLm1hcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgLnpvb20ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMTBweDtcclxuICAgICAgICAuem9vbS1pbixcclxuICAgICAgICAuem9vbS1vdXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdGFuO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnByb3BlcnR5LWltYWdlIHtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiNtYXBMZWdlbmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIC5sZWdlbmQge1xyXG4gICAgICAgICYtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAwIDAgNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yb3VuZGVkIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgLnN3YXRjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5tb2RhbCB7XG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcbiAgZGlzcGxheTpub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMzAlO1xuXHRsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgaWZyYW1lIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCB1cCkge1xyXG4gICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGhlaWdodDogNDYwcHg7XHJcbiAgICAgfVxuICBcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gICAgIGFuZCAobWluLWRldmljZS13aWR0aCA6IDM3NXB4KSBcclxuICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiA2NjdweCkgXHJcbiAgICAgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgeyBcclxuICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogNTYwcHg7XHJcbiAgICAgfVxuICAgICAgIFxuICB9XG5cblxuICBoMntcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XHJcbiAgaDN7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxyXG4gIHRhYmxle1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAgfSBcclxuICB0cntcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfSBcclxuICB0ZHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICB9IFxyXG4gIHRoZWFke1xyXG4gICAgZGlzcGxheTpibG9jazsgfVxyXG4gIGF7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cclxuICAuaGVyb3tcclxuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgJi1yZWxhdGl2ZXtcbiAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFx0dG9wOiAwO1xuICBcdGxlZnQ6IDA7XG4gIFx0dHJhbnNmb3JtOiBub25lO1xuICBcdG1hcmdpbjogMDsgXG4gIFx0d2lkdGg6IDEwMCU7XG4gIH0gXG4gICYtYWpheHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB3aWR0aDogNzUlO1xuICAgIC5jb250cm9sc3tcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtNTBweDtcbiAgICAgIC5jbG9zZS1idXR0b257XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgICAucHJpbnQtcGFnZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDc1MHB4O1xuICAgIH0gXG4gIH1cbiAgJi12aWRlb3tcclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAuY29udHJvbHN7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTUwcHg7XG4gICAgICAuY2xvc2UtYnV0dG9ue1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxyXG4gICAgfSAgICBcclxuICAgICYtY3Rhe1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICYudGh1bWJuYWlse1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgaW1ne1xyXG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ICAgIHRvcDogNTAlO1xyXG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIH1cclxuICAgICAgLm92ZXJsYXl7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogNzkwcHg7XG4gICAgfSBcclxuICB9XG5cbiAgJi5jb250YWN0dXMge1xuICAgIHRvcDogMjc1cHggIWltcG9ydGFudDtcblxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gXHJcbiAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogMzc1cHgpIFxyXG4gICAgIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDY2N3B4KSBcclxuICAgICBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7IFxyXG4gICAgICAgdG9wOiAyNSUgIWltcG9ydGFudDtcbiAgICAgfVxuICAgIC5jYWxsb3V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLnNjZlJlcXVpcmVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi5wbGF5LWJ1dHRvbi1vdXRlcntcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2lkdGg6IDVlbTtcclxuICAgIGhlaWdodDogNWVtO1xyXG5cdHRvcDogNTAlOyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjcpO1xyXG59XG4ucGxheS1idXR0b24ge1xyXG4gICAgbWFyZ2luOiAzMCUgNDAlOyBcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMWVtIDAgMWVtIDEuNWVtO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwOyBcclxufVxuIiwiLm5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDU1cHggMCAwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuOSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG5cbiAgICAgICAgLmludGVyaW9yICYge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaG9tZS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDNweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA4NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1oYW1idXJnZXItbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuOSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsICY6YWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIG91dGxpbmU6ICRkYXJrLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFtYnVyZ2VyLXRvZ2dsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDBzIDAuM3M7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcywgMC4zcztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzLCAwcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCB0cmFuc2Zvcm07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC03cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAuaGFtYnVyZ2VyLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMC4zcztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICsgLm5hdmlnYXRpb24tbWVudSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC45KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgbWVudS1leHBhbmQoYXV0byk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtZW51LWZvbnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmZm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnUtbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIuNXJlbSAyMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhcmVudCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1hcnJvdygnZG93bicsIHJnYigwLDAsMCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMjBweCkgKyAwLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDoyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWFycm93KCd1cCcsIHJnYigwLDAsMCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubmVzdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5lc3RlZCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubWVudS1saW5rLXBhcmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtYXJyb3coJ2Rvd24nLCByZ2IoMCwwLDApKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDE1cHgpICsgMC4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDoyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWFycm93KCd1cCcsIHJnYigwLDAsMCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubmVzdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAvL3RvcDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1zZWFyY2gge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjkpO1xuICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDU1cHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWJ1dHRvbi1nbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtc2VhcmNoaXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4NXB4O1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5ld3MtYmx1cmJ7XG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIC5oZWFkbGluZXtcbiAgICAgIEBleHRlbmQgLnR5cGUtc2Vjb25kYXJ5O1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG4gICAgJi1mb290ZXJ7XG4gICAgICBjb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG4iLCIubmV3cyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZGF0ZSB7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWFsdGVybmF0ZS1mb250O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJsYWNrO1xuICB9XG4gICYtYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWFsdGVybmF0ZS1mb250O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxuICAmLWZvb3RlciB7XG4gICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgfVxufVxuIiwiLnBhZ2UtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcbiAgQGV4dGVuZCAubm8tYnVsbGV0O1xuICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9ICAgIFxuICAucGFnZS1tZW51LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLnBhZ2UtbWVudS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMCk7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7ICAgICBcbiAgICAgICYuYWN0aXZlLCAmOmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkYmxhY2s7XG4gICAgICB9XG4gICAgICAmOmhvdmVye1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfSAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDg1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwXG4gICAgICB9IFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgfSAgICAgIFxuICAgIH1cbiAgfVxufVxuIiwiXG4kbW9kdWxlOiAnLnBhbmVsJztcbiN7JG1vZHVsZX0ge1xuICAucGFuZWwtZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAucGFuZWwtaGVhZGluZyB7XG4gICAgICBoM3tcbiAgICAgICAgICBmb250LWZhbWlseTokYm9keS1hbHRlcm5hdGUtZm9udDtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsYWNrO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhbmVsLWJvZHkge1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgICB9XG4gIH1cblxuICAmLWJvZHkge1xuICAgIHBhZGRpbmc6MXJlbTtcbiAgfVxuXG4gIC5wYW5lbC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgaDN7XG4gICAgICAgICAgZm9udC1mYW1pbHk6JGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibGFjaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgICAgfVxuICB9XG5cbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50e1xuICAgIC5tZWRpdW0tI3skaX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH0gICBcbiAgfVxuICAubWVkaXVtLWV4cGFuZHtcbiAgICAtd2Via2l0LWZsZXg6IDEgMSAwcHg7XG4gICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAucHJvcGVydHktbmF2aWdhdGlvbntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oZXJve1xuICAgIC5iYW5uZXItYmFja2dyb3VuZC1pbWFnZSBpbWcge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgfVxuICB9IFxuICAuZm9vdGVyLWNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5sdC1tYWluLWNvbnRlbnR7XG4gICAgbWFyZ2luOjA7IFxuICB9ICBcblxuICAuYnRuLWNvbnRhY3R1cyB7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuICB9XG5cbiAgLmJhY2stdG8tdG9wIHtcclxuICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxuXG4gIGgxIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICB9XG5cbiAgLmJhZGdlIHtcclxuICAgICAgd2lkdGg6MTg2cHg7XHJcbiAgICAgIGhlaWdodDoxODZweDtcclxuICB9XG5cbiAgLmhlYWRlciB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAuaGVhZGVyLWlubmVyIHtcclxuICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgfVxyXG4gICAgICAuaGVhZGVyLXVwcGVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubmF2aWdhdGlvbiB7XHJcbiAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgIH1cclxuICB9XG5cbiAgLmljb24taXMtbG9nbyAge1xyXG4gICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgIHdpZHRoOiAxMzBweDtcclxuICB9XG5cbiAgLmx0LXNlY3Rpb24tcGFkZGluZy1sYXJnZS1hbGwge1xyXG4gICAgICBwYWRkaW5nOjEwcHg7XHJcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xyXG4gICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxuICBcbiAgYVtocmVmXTphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuICB9XG5cbiAgLnR5cGUtaGVhZGVyLW1lZGl1bSB7XHJcbiAgICAgIGZvbnQtc2l6ZToxcmVtO1xyXG4gIH1cblxuICAubHQtZm9yY2UtbWFyZ2luLXJpZ2h0IHtcclxuICAgICAgZGlzcGxheTpub25lO1xyXG4gIH1cblxuICAudGFicyB7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuICB9XG5cbiAgLnRhYnMtY29udGVudCAge1xyXG4gICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XG59XG5cbiIsIi5wcm9wZXJ0eS1oZWFkZXIge1xuICAgIG1pbi1oZWlnaHQ6IDY2cHg7XG4gIC5sb2dvIHtcbiAgICB3aWR0aDphdXRvO1xuICAgIGhlaWdodDo1NHB4O1xuICB9XG5cbiAgaDEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKmxpbmUtaGVpZ2h0OjU0cHg7Ki9cbiAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgfVxuXG4gIC5wcm9wZXJ0eS1uYXZpZ2F0aW9ue1xuICAgIHVse1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cclxuICAgIH1cblxuICBcdHVsIGxpIGF7XG4gIFx0XHRwYWRkaW5nOjVweDtcbiAgICAgICAgICAuaGFzLXRpcHtcclxuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICB9XG4gIFx0fVxuICBcdC5pY29uLXhzbWFsbHtcbiAgXHRcdHdpZHRoOjIwcHg7XG4gIFx0XHRoZWlnaHQ6MjBweDtcbiAgXHR9XG4gIH1cbn0gIiwiLnF1b3RlLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDMwcHggMTVweCA0MHB4O1xuICAmOmJlZm9yZXtcbiAgICBjb250ZW50OiAn4oCcICc7XG4gICAgZm9udC1zaXplOiAzLjVyZW07IFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwOyBcbiAgICB0b3A6IC0zNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgfVxuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6ICcg4oCdJztcbiAgICBmb250LXNpemU6IDMuNXJlbTsgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTYwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICB9IFxufSIsIi5zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjkpO1xuICAmIC5tZW51IHtcblxuICAgICYgLm1lbnUtaXRlbSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkYmRiZGI7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuLnNlYXJjaC1jb250YWluZXJ7XG5cdGlucHV0e1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuOCk7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQmOmZvY3Vze1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIC44KTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxufVxuLnNlYXJjaC1tZXRhe1xyXG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7ICAgICBcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IC0zMHB4IDE1cHggMCAxNXB4O1xyXG4gICAgIH1cclxufSIsIi5zdGF0IHtcbiAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi1pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgICYtZmlndXJlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM2KTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG5cbiAgICAgICAgc3VwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhyKCkgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC44NzVyZW0gYXV0byAxcmVtIC0xMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdGVybmF0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtbGFyZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDUwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtc3ViZmlndXJlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgIH1cblxuXG4gICAgJi1hd2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgIH1cblxuICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLWNhcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhyKCkgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAuODc1cmVtIGF1dG8gMXJlbSAtMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnR5cGUtbWVkaXVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vLWFjY2VudCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1zbWFsbCB7XG4gICAgICAgIC5zdGF0LWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdC1maWd1cmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGF0LWNhcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuN3JlbSBhdXRvIC0zcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbWVkaXVtIHtcbiAgICAgICAgLnN0YXQtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGFyZ2Uge1xuICAgICAgICAuc3RhdC1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN0b2NrLXByaWNlIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206MS41cmVtO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibGFjaztcbiAgICB3aWR0aDogMjBweDtcbiAgfVxuICBwIHtcbiAgICBmb250LWZhbWlseTogJGJvZHktYWx0ZXJuYXRlLWZvbnQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDM2KTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAwLjVyZW07XG4gIH1cbn1cbiIsIi50aHJlZS1jb2x1bW57XG4gIG1hcmdpbjogMi41cmVtIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAuYmFkZ2UuaXMtbGVmdHtcclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICBoMy50eXBlLWhlYWRlci1tZWRpdW0ge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgfVxyXG4gIH1cblxuICAmLmlzLWltYWdlLXJpZ2h0IHtcbiAgICAuaXMtaW1hZ2V7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XHJcbiAgICB9XG4gICAgLmNvbHVtbnMsIC5jb2x1bW4ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1pbWFnZS1sZWZ0IHtcbiAgICAgLmlzLWltYWdle1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxyXG4gICAgfVxuICAgICAgICAgLmNvbHVtbnMsIC5jb2x1bW4ge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICY6bnRoLWNoaWxkKG9kZCl7XHJcbiAgICAgIC5jb2x1bW57XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSl7XHJcbiAgICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpe1xyXG4gICAgICAgICAgb3JkZXI6IC0yO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMyl7XHJcbiAgICAgICAgICBvcmRlcjogLTM7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNCl7XHJcbiAgICAgICAgICBvcmRlcjogLTQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDUpe1xyXG4gICAgICAgICAgb3JkZXI6IC01O1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNil7XHJcbiAgICAgICAgICBvcmRlcjogLTY7XHJcbiAgICAgICAgfSAgICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gIFxufVxuIiwiLnRodW1ibmFpbCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAvL21hcmdpbi10b3A6IDEuOHJlbTtcbiAgQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6dHJ1ZSkge1xyXG4gICAgLmxpc3QtZ3JpZCAme1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEyNXB4O1xyXG4gICAgfVxyXG4gIH0gXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH0gIFxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgLy9tYXJnaW4tdG9wOiAxLjhyZW07XG4gICAgQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6dHJ1ZSkge1xuICAgICAgLmxpc3QtZ3JpZCAme1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNsaXA6IHJlY3QoMHB4LCAyNDVweCwgMTI1cHgsIDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1uYXJyb3cge1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLCAwLjUpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5kZXNjcmlwdGlvbntcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB9XG4gICAgaDN7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gICAgICAgIGFuZCAobWluLWRldmljZS13aWR0aCA6IDMyMHB4KSBcclxuICAgICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiA1NjhweCkgeyBcbiAgICAgICAgICAgIC50aHVtYm5haWwtZ3JpZCAudGh1bWJuYWlsICYge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjY3NXJlbTtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgLnRodW1ibmFpbC1ncmlkIC50aHVtYm5haWwgJiB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjY3NXJlbTtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cclxuICAgIH1cbiAgfVxuXG4gICYtY2lyY2xle1xuICAgIGJvcmRlci1yYWRpdXM6IDEyM3B4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHdoaXRlO1xuICAgIHdpZHRoOjI0NnB4O1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgY3Vyc29yOiB0ZXh0O1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKXtcbiAgICAgIHdpZHRoOjg1JTtcbiAgICB9XG5cbiAgICAmLXhzbWFsbHtcbiAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgd2hpdGU7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgIH1cblxuICB9XG59XG5cbi50aHVtYm5haWwtZ3JpZCB7XG4gIC5kZXNjcmlwdGlvbnsgXG4gICAgaDN7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gICAgICAgIGFuZCAobWluLWRldmljZS13aWR0aCA6IDMyMHB4KSBcclxuICAgICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiA1NjhweCkgeyAgXHJcbiAgICAgICAgICBmb250LXNpemU6IDAuNjc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyBcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMC42NzVyZW07IFxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cclxuICAgIH1cbiAgfVxufSIsIi8vIGJyZWFrcG9pbnRzXHJcbiAgIFxyXG4kUzogICAgIDMyMHB4OyAgIFxyXG4kTTogICAgIDc2OHB4OyAgICAgXHJcbiRMOiAgICAgMTE3MHB4OyAgICAgXHJcblxyXG4vLyBtZWRpYSBxdWVyaWVzXHJcblxyXG5AbWl4aW4gTVEoJGNhbnZhcykge1xyXG4gIEBpZiAkY2FudmFzID09IFMge1xyXG4gICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTKSB7IEBjb250ZW50OyB9IFxyXG4gIH1cclxuICBAZWxzZSBpZiAkY2FudmFzID09IE0ge1xyXG4gICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRNKSB7IEBjb250ZW50OyB9IFxyXG4gIH1cclxuICBAZWxzZSBpZiAkY2FudmFzID09IEwge1xyXG4gICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRMKSB7IEBjb250ZW50OyB9IFxyXG4gIH1cclxufVxyXG4gXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbk1vZHVsZXMgLSByZXVzYWJsZSBwYXJ0cyBvZiBvdXIgZGVzaWduXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmNkLWNvbnRhaW5lciB7IC8qIHRoaXMgY2xhc3MgaXMgdXNlZCB0byBnaXZlIGEgbWF4LXdpZHRoIHRvIHRoZSBlbGVtZW50IGl0IGlzIGFwcGxpZWQgdG8sIGFuZCBjZW50ZXIgaXQgaG9yaXpvbnRhbGx5IHdoZW4gaXQgcmVhY2hlcyB0aGF0IG1heC13aWR0aCAqL1xyXG5cdHdpZHRoOiA5MCU7XHJcblx0bWF4LXdpZHRoOiAkTDsgLy8gYnJlYWtwb2ludHMgaW5zaWRlIHBhcnRpYWxzID4gX2xheW91dC5zY3NzXHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdCY6OmFmdGVyIHsgLyogY2xlYXJmaXggKi9cclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuTWFpbiBjb21wb25lbnRzIFxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuIFxyXG5cclxuI2NkLXRpbWVsaW5lIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZzogMCAwIDJyZW07XHJcblx0bWFyZ2luOiB7XHJcblx0XHR0b3A6IDJlbTtcclxuXHRcdGJvdHRvbTogMmVtO1xyXG5cdH1cclxuXHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdC8qIHRoaXMgaXMgdGhlIHZlcnRpY2FsIGxpbmUgKi9cclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMThweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHdpZHRoOiAycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZGRkO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgTVEoTCkge1xyXG5cdFx0bWFyZ2luOiB7XHJcblx0XHRcdHRvcDogM2VtO1xyXG5cdFx0XHRib3R0b206IDNlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMnB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNkLXRpbWVsaW5lLWJsb2NrIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAyZW0gMDtcclxuXHJcblx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHJcblx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBNUShMKSB7XHJcblx0XHRtYXJnaW46IDRlbSAwO1xyXG5cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY2QtdGltZWxpbmUtaW1nIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA2LjVyZW07XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblxyXG4gICAgLmNpcmNsZXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDI0cHg7XHJcblx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtMTJweDtcclxuXHRcdG1hcmdpbi10b3A6IC0xMnB4O1xyXG5cdFx0Ym9yZGVyOjJweCBzb2xpZCAjY2NjO1xyXG5cdFx0YmFja2dyb3VuZDp3aGl0ZTtcclxuICAgICAgXHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcclxuICAgICAgXHRib3JkZXItcmFkaXVzOiA1MCU7XHRcdFxyXG4gICAgICAgIC5pbm5lci1jaXJjbGV7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDoxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiRoaWdobGlnaHQtY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOjVweCBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHRAaW5jbHVkZSBNUShMKSB7XHJcblx0XHR3aWR0aDogNjBweDtcclxuXHRcdGhlaWdodDogNjBweDtcclxuXHRcdGxlZnQ6IDUwJTtcclxuICAgICAgICB0b3A6IDVyZW07XHJcblx0XHRtYXJnaW4tbGVmdDogLTMwcHg7XHJcblxyXG5cdFx0LyogRm9yY2UgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIGluIFdlYktpdCAqL1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcblx0XHQuY3NzYW5pbWF0aW9ucyAmLmlzLWhpZGRlbiB7XHJcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdH1cclxuXHJcblx0XHQuY3NzYW5pbWF0aW9ucyAmLmJvdW5jZS1pbiB7XHJcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHRcdC8vQGluY2x1ZGUgYW5pbWF0aW9uKGNkLWJvdW5jZS0xIC42cyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY2QtdGltZWxpbmUtY29udGVudCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcclxuXHJcblxyXG4gICAgQGluY2x1ZGUgTVEoTCkge1xyXG4gICAgICAgIC5jZC10aW1lbGluZS1oZWFkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjVyZW07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNkLXRpbWVsaW5lLWluZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHQuY2QtdGltZWxpbmUteWVhciB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg2NCk7IFxyXG4gICAgICBcclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOjIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgYmxhY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG5cdH1cdFxyXG5cclxuXHRAaW5jbHVkZSBNUShMKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdHBhZGRpbmc6IDAgMS42ZW0gMS42ZW07XHJcblx0XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0dG9wOiAyNHB4O1xyXG5cdFx0XHRsZWZ0OiAxMDAlO1xyXG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogd2hpdGU7XHJcblx0XHR9XHJcbiBcclxuIFx0XHQuY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKG9kZCkgJiB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdFx0IFx0LmNkLXRpbWVsaW5lLXllYXIgeyAgXHJcbiAgICAgICAgICAgICAgICBcclxuXHRcdCAgICAgIFx0JjphZnRlcntcclxuXHRcdFx0ICAgICAgXHRjb250ZW50OlwiXCI7XHJcblx0XHRcdCAgICAgIFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0ICAgICAgXHR3aWR0aDoyMHB4O1xyXG5cdFx0XHQgICAgICBcdGJvcmRlcjowO1xyXG5cdFx0XHQgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCBibGFjaztcclxuXHRcdFx0ICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcblx0XHRcdCAgICAgIFx0bGVmdDo5NSU7XHJcblx0XHQgICAgICBcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdCAgICB9IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNkLXRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChldmVuKSAmIHtcclxuXHRcdFx0LmNkLXRpbWVsaW5lLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0LjVyZW07XHJcblx0XHRcdH1cclxuXHJcbiAgICAgICAgICAgIC5jZC10aW1lbGluZS1pbmZvIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDQuNXJlbSAwIDA7XHJcblxyXG4gICAgICAgICAgICB9IFxyXG5cdFx0fVxyXG5cclxuXHRcdC5jc3NhbmltYXRpb25zICYuaXMtaGlkZGVuIHtcclxuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jc3NhbmltYXRpb25zICYuYm91bmNlLWluIHtcclxuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHRcdFx0Ly9AaW5jbHVkZSBhbmltYXRpb24oY2QtYm91bmNlLTIgLjZzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIE1RKEwpIHtcclxuXHQvKiBpbnZlcnNlIGJvdW5jZSBlZmZlY3Qgb24gZXZlbiBjb250ZW50IGJsb2NrcyAqL1xyXG5cdC5jc3NhbmltYXRpb25zIC5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLmNkLXRpbWVsaW5lLWNvbnRlbnQuYm91bmNlLWluIHtcclxuXHRcdC8vQGluY2x1ZGUgYW5pbWF0aW9uKGNkLWJvdW5jZS0yLWludmVyc2UgLjZzKTtcclxuXHR9XHJcbn0iXX0= */
