@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@import url("//fast.fonts.net/t/1.css?apiType=css&projectid=1012bedb-31f8-45fb-b456-920da8a1de29");
.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: not-allowed; }

/**
   * 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&smallmedium=30em&medium=48em&large=64em&xlarge=80em&xxlarge=90em&xxxlarge=118.75em"; }

html {
  font-size: 100%;
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  padding: 0;
  margin: 0;
  font-family: "Heuristica";
  font-weight: normal;
  line-height: 1.5;
  color: #2c2f2f;
  background: #fefefe;
  -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: 0; }

select {
  width: 100%;
  border-radius: 0; }

#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: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 93.125rem;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  .row .row {
    margin-left: -1.25rem;
    margin-right: -1.25rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-left: -3.125rem;
        margin-right: -3.125rem; } }
    @media screen and (min-width: 64em) {
      .row .row {
        margin-left: -1.25rem;
        margin-right: -1.25rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-left: 0;
    margin-right: 0; }

.column, .columns {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  min-width: initial; }
  @media screen and (min-width: 48em) {
    .column, .columns {
      padding-left: 3.125rem;
      padding-right: 3.125rem; } }
  @media screen and (min-width: 64em) {
    .column, .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0; }

.small-1 {
  -ms-flex: 0 0 8.33333%;
      flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -ms-flex: 0 0 16.66667%;
      flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  -ms-flex: 0 0 25%;
      flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  -ms-flex: 0 0 33.33333%;
      flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  -ms-flex: 0 0 41.66667%;
      flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  -ms-flex: 0 0 50%;
      flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  -ms-flex: 0 0 58.33333%;
      flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  -ms-flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  -ms-flex: 0 0 75%;
      flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  -ms-flex: 0 0 83.33333%;
      flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  -ms-flex: 0 0 91.66667%;
      flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.small-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.small-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.small-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.small-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.small-order-6 {
  -ms-flex-order: 6;
      order: 6; }

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -ms-flex: 0 0 20%;
        flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -ms-flex: 0 0 14.28571%;
        flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-left: 0;
  padding-right: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-left: 1.25rem;
  padding-right: 1.25rem; }

@media screen and (min-width: 48em) {
  .medium-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 48em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 48em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 3.125rem;
    padding-right: 3.125rem; } }

@media screen and (min-width: 30em) {
  .smallmedium-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .smallmedium-offset-0 {
    margin-left: 0%; }
  .smallmedium-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .smallmedium-offset-1 {
    margin-left: 8.33333%; }
  .smallmedium-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .smallmedium-offset-2 {
    margin-left: 16.66667%; }
  .smallmedium-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .smallmedium-offset-3 {
    margin-left: 25%; }
  .smallmedium-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .smallmedium-offset-4 {
    margin-left: 33.33333%; }
  .smallmedium-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .smallmedium-offset-5 {
    margin-left: 41.66667%; }
  .smallmedium-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .smallmedium-offset-6 {
    margin-left: 50%; }
  .smallmedium-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .smallmedium-offset-7 {
    margin-left: 58.33333%; }
  .smallmedium-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .smallmedium-offset-8 {
    margin-left: 66.66667%; }
  .smallmedium-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .smallmedium-offset-9 {
    margin-left: 75%; }
  .smallmedium-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .smallmedium-offset-10 {
    margin-left: 83.33333%; }
  .smallmedium-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .smallmedium-offset-11 {
    margin-left: 91.66667%; }
  .smallmedium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .smallmedium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .smallmedium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .smallmedium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .smallmedium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .smallmedium-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .smallmedium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-1 > .column, .smallmedium-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .smallmedium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-2 > .column, .smallmedium-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .smallmedium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-3 > .column, .smallmedium-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .smallmedium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-4 > .column, .smallmedium-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .smallmedium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-5 > .column, .smallmedium-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .smallmedium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-6 > .column, .smallmedium-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .smallmedium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-7 > .column, .smallmedium-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .smallmedium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-8 > .column, .smallmedium-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 30em) and (min-width: 30em) {
  .smallmedium-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.smallmedium-unstack > .column, .row.smallmedium-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 30em) {
    .row.smallmedium-unstack > .column, .row.smallmedium-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 30em) {
  .smallmedium-collapse > .column, .smallmedium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .smallmedium-uncollapse > .column, .smallmedium-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 64em) {
  .large-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -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: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 80em) {
  .xlarge-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 80em) and (min-width: 80em) {
  .xlarge-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 80em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 80em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xxlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xxlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

.shrink {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  max-width: 100%; }

.column.align-top, .align-top.columns {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.column.align-bottom, .align-bottom.columns {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.column.align-middle, .align-middle.columns {
  -ms-flex-item-align: center;
      align-self: center; }

.column.align-stretch, .align-stretch.columns {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-right {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.align-center {
  -ms-flex-pack: center;
      justify-content: center; }

.align-justify {
  -ms-flex-pack: justify;
      justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-top {
  -ms-flex-align: start;
      align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -ms-flex-align: end;
      align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -ms-flex-align: center;
      align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -ms-flex-align: stretch;
      align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.small-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.small-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.small-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.small-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.small-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.small-order-6 {
  -ms-flex-order: 6;
      order: 6; }

@media screen and (min-width: 48em) {
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 30em) {
  .smallmedium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .smallmedium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .smallmedium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .smallmedium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .smallmedium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .smallmedium-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 64em) {
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 80em) {
  .xlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

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.6;
  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: 75%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Heuristica";
  font-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #676767;
    line-height: 0; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #0B8651;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #097346; }
  a img {
    border: 0; }

hr {
  max-width: 93.125rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #676767;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  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 #676767; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #2c2f2f;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  background-color: #e6e6e6;
  border: 1px solid #676767;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media screen and (min-width: 48em) {
  .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: 30em) {
  .smallmedium-text-left {
    text-align: left; }
  .smallmedium-text-right {
    text-align: right; }
  .smallmedium-text-center {
    text-align: center; }
  .smallmedium-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: 80em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    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 #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.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: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #0B8651;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #097245;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #0B8651;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #096b41;
      color: #fefefe; }
  .button.secondary {
    background-color: #777;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button.warning {
    background-color: #ffae00;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button.alert {
    background-color: #ec5840;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #0B8651;
    color: #0B8651; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #064329;
      color: #064329; }
    .button.hollow.primary {
      border: 1px solid #0B8651;
      color: #0B8651; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #064329;
        color: #064329; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #0B8651;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #0B8651;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #777;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #ec5840;
        color: #fefefe; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe 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.1em; }

[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 #676767;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #0a0a0a;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  border-radius: 0;
  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 #8a8a8a;
    background-color: #fefefe;
    outline: none;
    box-shadow: 0 0 5px #676767;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #676767; }

input::placeholder,
textarea::placeholder {
  color: #676767; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: default; }

[type='submit'],
[type='button'] {
  border-radius: 0;
  -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; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #e6e6e6;
  color: #0a0a0a;
  border: 1px solid #676767;
  white-space: nowrap;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  height: auto; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }
  .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 #676767;
  padding: 1.25rem;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: #fefefe;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #676767;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #0a0a0a;
  background-color: #fefefe;
  border-radius: 0;
  -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%28138, 138, 138%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @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: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

.is-invalid-label {
  color: #ec5840; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 29.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 30em) {
  .show-for-small-only {
    display: none !important; } }

@media screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 30em) {
  .hide-for-smallmedium {
    display: none !important; } }

@media screen and (max-width: 29.9375em) {
  .show-for-smallmedium {
    display: none !important; } }

@media screen and (min-width: 30em) and (max-width: 47.9375em) {
  .hide-for-smallmedium-only {
    display: none !important; } }

@media screen and (max-width: 29.9375em), screen and (min-width: 48em) {
  .show-for-smallmedium-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: 79.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 80em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 80em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 79.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 80em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 79.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 118.6875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 118.75em) {
  .show-for-xxlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 118.6875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 118.75em) {
  .show-for-xxlarge-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;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-order: 1;
      order: 1; }

.clearfix::after {
  clear: both; }

.accordion {
  list-style-type: none;
  background: #fefefe;
  margin-left: 0; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #0B8651;
  position: relative;
  border: 1px solid #e6e6e6;
  border-bottom: 0; }
  :last-child:not(.is-active) > .accordion-title {
    border-radius: 0 0 0 0;
    border-bottom: 1px solid #e6e6e6; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .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: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0B8651; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #0B8651;
  color: #fefefe; }
  .badge.secondary {
    background: #777;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #fefefe; }
  .badge.warning {
    background: #ffae00;
    color: #fefefe; }
  .badge.alert {
    background: #ec5840;
    color: #fefefe; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #0a0a0a;
    font-size: 0.6875rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #676767;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #0B8651; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #676767;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #0B8651;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #096b41;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #777;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 29.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  position: relative;
  color: #2c2f2f;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #ccfbe7; }
  .callout.secondary {
    background-color: #ebebeb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .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: #8a8a8a;
  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: #0a0a0a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block !important; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -ms-transform: translateX(-100%);
        transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -ms-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 #0B8651;
    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 #0B8651 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: #fefefe;
  border: 1px solid #676767;
  border-radius: 0;
  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; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 0;
  top: 100%; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 0;
  top: 100%; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 1.5rem;
  position: relative; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: #0B8651 transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  right: 5px;
  margin-top: -2px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 100%; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #0B8651 transparent transparent;
  border-right-style: solid;
  border-left-width: 0; }

.dropdown.menu.vertical > li.opens-right > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #0B8651;
  border-left-style: solid;
  border-right-width: 0; }

@media screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 30em) {
  .dropdown.menu.smallmedium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.smallmedium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.smallmedium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.smallmedium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.smallmedium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.smallmedium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.smallmedium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.smallmedium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.smallmedium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.smallmedium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 80em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

.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-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -2px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #676767; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px;
    margin-top: -3px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .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: 0;
  background: #0B8651;
  color: #fefefe; }
  .label.secondary {
    background: #777;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #fefefe; }
  .label.warning {
    background: #ffae00;
    color: #fefefe; }
  .label.alert {
    background: #ec5840;
    color: #fefefe; }

.media-object {
  margin-bottom: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 29.9375em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (max-width: 29.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }

.menu {
  margin: 0;
  list-style-type: none;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .menu > li {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
    [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 {
    display: -ms-flexbox;
    display: flex; }
  .menu > li > a {
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap; }
    .menu > li > a img,
    .menu > li > a i,
    .menu > li > a svg {
      margin-right: 0.25rem; }
  .menu > li {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  .menu.vertical {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .menu.vertical > li {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
    .menu.vertical > li > a {
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (min-width: 48em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.medium-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.medium-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.medium-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.medium-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 30em) {
    .menu.smallmedium-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.smallmedium-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.smallmedium-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.smallmedium-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.smallmedium-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.large-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.large-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.large-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.large-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 80em) {
    .menu.xlarge-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.xlarge-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.xlarge-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.xlarge-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.xlarge-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.xxlarge-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.xxlarge-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right {
    -ms-flex-pack: end;
        justify-content: flex-end; }
  .menu.expanded > li {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .menu.expanded > li:first-child:last-child {
    width: 100%; }
  .menu.icon-top > li > a {
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      text-align: center;
      margin-bottom: 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    color: #fefefe;
    background: #0B8651; }

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem; }

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block; }

.no-js [data-responsive-menu] ul {
  display: none; }

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  min-height: 100%;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fefefe;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  z-index: 1;
  padding-bottom: 0.1px;
  box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -ms-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 {
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }

@media screen and (min-width: 48em) {
  .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: 30em) {
  .position-left.reveal-for-smallmedium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-smallmedium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-smallmedium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-smallmedium ~ .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: 80em) {
  .position-left.reveal-for-xlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xxlarge ~ .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: #fefefe;
  background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    background-color: #676767;
    border-radius: 50%; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 0;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #0a0a0a;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #0B8651;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #676767;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  content: '\00ab';
  display: inline-block;
  margin-right: 0.5rem; }

.pagination-next a::after,
.pagination-next.disabled::after {
  content: '\00bb';
  display: inline-block;
  margin-left: 0.5rem; }

.progress {
  background-color: #676767;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #0B8651; }
  .progress.secondary .progress-meter {
    background-color: #777; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #0B8651; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #676767;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #0B8651;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #097245; }
  .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;
  -ms-transform: scale(1, -1);
      transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: absolute;
  z-index: 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; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1005;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #676767;
  background-color: #fefefe;
  border-radius: 0;
  position: relative;
  top: 100px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 93.125rem; } }
  @media screen and (min-width: 48em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 93.125rem; } }
  @media screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 93.125rem; } }
  @media screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 93.125rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 29.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      max-width: none;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fefefe;
  font-weight: bold;
  font-size: 0.875rem; }

.switch-input {
  opacity: 0;
  position: absolute;
  margin-bottom: 0; }

.switch-paddle {
  background: #676767;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fefefe;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #0B8651; }
    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%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead {
    background: #f8f8f8;
    color: #2c2f2f; }
  tfoot {
    background: #f1f1f1;
    color: #2c2f2f; }
  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: #f1f1f1; }
  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 thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover tbody tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e6e6e6; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .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: #0B8651; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #0c975b; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 0.75rem; }
    .tabs-title > a:hover {
      background: #fefefe; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6; }

.tabs-content {
  background: #fefefe;
  transition: all 0.5s ease;
  border: 1px solid #e6e6e6;
  border-top: 0; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(11, 134, 81, 0.5); }

.title-bar {
  background: #0a0a0a;
  color: #fefefe;
  padding: 0.5rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  font-weight: bold;
  vertical-align: middle;
  display: inline-block; }

.has-tip {
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  position: relative;
  display: inline-block;
  cursor: help; }

.tooltip {
  background-color: #0a0a0a;
  color: #fefefe;
  font-size: 75%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 0; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #0a0a0a;
    border-bottom-style: solid;
    border-top-width: 0;
    bottom: 100%;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #0a0a0a 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 #0a0a0a;
    border-left-style: solid;
    border-right-width: 0;
    bottom: auto;
    left: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #0a0a0a transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    bottom: auto;
    left: auto;
    right: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.top-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  @media screen and (min-width: 48em) {
    .top-bar {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
      .top-bar .top-bar-right {
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .top-bar.stacked-for-smallmedium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-smallmedium .top-bar-left,
      .top-bar.stacked-for-smallmedium .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 79.9375em) {
    .top-bar.stacked-for-large {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xxlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xxlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  margin-right: 1rem; }

.top-bar-left,
.top-bar-right {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.slide-in-down.mui-enter {
  -ms-transform: translateY(-100%);
      transform: translateY(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-left.mui-enter {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-in-up.mui-enter {
  -ms-transform: translateY(100%);
      transform: translateY(100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-right.mui-enter {
  -ms-transform: translateX(100%);
      transform: translateX(100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-out-down.mui-leave {
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -ms-transform: translateY(100%);
      transform: translateY(100%); }

.slide-out-right.mui-leave {
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -ms-transform: translateX(100%);
      transform: translateX(100%); }

.slide-out-up.mui-leave {
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -ms-transform: translateY(-100%);
      transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -ms-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 {
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transform: perspective(2000px) rotateX(90deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transform: perspective(2000px) rotateY(90deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/************
 Use

.box {
  &.arrow-top-left {@include arrow('top','left', 10px, #4fade3)}
  &.arrow-top-right {@include arrow('top','right', 10px, #4fade3)}
  &.arrow-top-center {@include arrow('top','center', 10px, #4fade3)}
  &.arrow-bottom-left {@include arrow('bottom','left', 10px, #4fade3)}
  &.arrow-bottom-right {@include arrow('bottom','right', 10px, #4fade3)}
  &.arrow-bottom-center {@include arrow('bottom','center', 10px, #4fade3)}
  &.arrow-left-top {@include arrow('left','top', 10px, #4fade3)}
  &.arrow-left-center {@include arrow('left','center', 10px, #4fade3)}
  &.arrow-left-bottom {@include arrow('left','bottom', 10px, #4fade3)}
  &.arrow-right-top {@include arrow('right','top', 10px, #4fade3)}
  &.arrow-right-center {@include arrow('right','center', 10px, #4fade3)}
  &.arrow-right-bottom {@include arrow('right','bottom', 10px, #4fade3)}
}


.box-with-border {
  &.arrow-top-left {@include arrow('top','left', 10px, #eee, #4fade3, 6px)}
  &.arrow-top-right {@include arrow('top','right', 10px, #eee, #4fade3, 6px)}
  &.arrow-top-center {@include arrow('top','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-bottom-left {@include arrow('bottom','left', 10px, #eee, #4fade3, 6px)}
  &.arrow-bottom-right {@include arrow('bottom','right', 10px, #eee, #4fade3, 6px)}
  &.arrow-bottom-center {@include arrow('bottom','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-left-top {@include arrow('left','top', 10px, #eee, #4fade3, 6px)}
  &.arrow-left-center {@include arrow('left','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-left-bottom {@include arrow('left','bottom', 10px, #eee, #4fade3, 6px)}
  &.arrow-right-top {@include arrow('right','top', 10px, #eee, #4fade3, 6px)}
  &.arrow-right-center {@include arrow('right','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-right-bottom {@include arrow('right','bottom', 10px, #eee, #4fade3, 6px)}
}


************/
/* usage example
.div {  
  &:after {
    @include wf-icon (icon, font-size, color);
    display:block;
    width:50px;
    height:50px;    
  }
}

*/
.animated {
  animation-duration: 1s;
  animation-fill-mode: both; }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeft {
  animation-name: fadeInLeft; }

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(10%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInRight {
  animation-name: fadeInRight; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInUp {
  animation-name: fadeInUp; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
*,
*:before,
*:after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }
  a:link {
    text-decoration: none; }
  a:visited {
    text-decoration: none; }
  a:active {
    text-decoration: none; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * 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.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* Helper classes
 ========================================== */
/**
 * 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 */ }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block; }

html,
body {
  height: 100%;
  line-height: 1; }

body {
  width: 100%;
  font-family: Heuristica; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

ul li {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  transition: all 200ms ease-in-out; }

input {
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out; }

/*label{
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
}*/
.clear {
  clear: both;
  float: none; }

.titleNamePage h3 {
  padding: 20px 0 15px 0; }

.pinkBtn19 {
  font-size: 19px;
  line-height: 16px; }

.pinkBtn24 {
  font-size: 24px;
  line-height: 23px; }

.pinkSubmit {
  font-family: interface, Arial, sans-serif;
  font-size: 19px;
  display: inline-block;
  background: #af1478;
  font-weight: 400;
  color: #ffffff;
  padding: 10px 15px; }
  .pinkSubmit.postComment {
    font-family: interface, Arial, sans-serif;
    font-size: 24px; }

.fs16 {
  font-size: 16px; }

.bR {
  border-right: 1px solid #e9e9e9; }

.bRGray {
  border-right: 1px solid #b7b7b7; }

.bB {
  border-bottom: 1px solid #e9e9e9; }

@media only screen and (max-width: 640px) {
  .bR {
    border: none; }
  .bRGray {
    border: none; } }

/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
@font-face {
  font-family: "Stolzl W00 Book";
  src: url("../fonts/d4eb3f3d-4d40-42cc-80eb-005aaacd2d01.eot?#iefix");
  src: url("../fonts/d4eb3f3d-4d40-42cc-80eb-005aaacd2d01.eot?#iefix") format("eot"), url("../fonts/df3260a8-4249-4876-b2ea-9d30ca8a5d84.woff2") format("woff2"), url("../fonts/f9997371-f2b0-4efd-9afa-aedc523bda83.woff") format("woff"), url("../fonts/484c03db-6da4-413f-85e7-bfced6277476.ttf") format("truetype"), url("../fonts/e1f9b8d5-2990-491b-9461-6410a197eeb6.svg#e1f9b8d5-2990-491b-9461-6410a197eeb6") format("svg"); }

@font-face {
  font-family: "Stolzl W00 Medium";
  src: url("../fonts/e25e6f46-99c9-46b7-9780-31f5e37ed20f.eot?#iefix");
  src: url("../fonts/e25e6f46-99c9-46b7-9780-31f5e37ed20f.eot?#iefix") format("eot"), url("../fonts/94d3fcc0-2a96-4771-91b7-a39f4ddd4917.woff2") format("woff2"), url("../fonts/b23dfc87-bbe4-47fa-a0b9-454796f8f75a.woff") format("woff"), url("../fonts/2533cb43-c267-46c5-a23b-3f3be5eb0b50.ttf") format("truetype"), url("../fonts/f2bf489f-d58b-4625-980f-8757b63ed83a.svg#f2bf489f-d58b-4625-980f-8757b63ed83a") format("svg"); }

@font-face {
  font-family: "Stolzl W00 Bold";
  src: url("../fonts/9b0dbcc3-3fdf-4321-ade3-7be3a588eb0f.eot?#iefix");
  src: url("../fonts/9b0dbcc3-3fdf-4321-ade3-7be3a588eb0f.eot?#iefix") format("eot"), url("../fonts/dfa5170a-7728-49da-950a-b4eab5029ac7.woff2") format("woff2"), url("../fonts/976de71c-b5d0-44d7-89f1-4749bd1ac432.woff") format("woff"), url("../fonts/be9e29a6-2d3e-4168-8e1f-d840d2f57c93.ttf") format("truetype"), url("../fonts/3e145975-2bf8-4a99-a341-fa89742af631.svg#3e145975-2bf8-4a99-a341-fa89742af631") format("svg"); }

@font-face {
  font-family: "FoundersGroteskCond-Bold";
  src: url("../fonts/FoundersGroteskCond-Bold.eot?#iefix");
  src: url("../fonts/FoundersGroteskCond-Bold.eot?#iefix") format("eot"), url("../fonts/FoundersGroteskCond-Bold.woff2") format("woff2"), url("../fonts/FoundersGroteskCond-Bold.woff") format("woff"), url("../fonts/FoundersGroteskCond-Bold.ttf") format("truetype"), url("../fonts/FoundersGroteskCond-Bold.svg") format("svg"); }

@font-face {
  font-family: "slick";
  src: url("../fonts/slick.eot");
  src: url("../fonts/slick.eot") format("eot"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg"); }

@font-face {
  font-family: "Avenir";
  src: url("../fonts/avenir/AvenirLTProRoman.woff") format("woff"); }

@font-face {
  font-family: "Avenir Bold";
  src: url("../fonts/avenir/AvenirLTProHeavy.woff") format("woff"); }

@font-face {
  font-family: "Avenir Light";
  src: url("../fonts/avenir/AvenirLTProLight.woff") format("woff"); }

@font-face {
  font-family: "Heuristica";
  src: url("../fonts/heuristica/heuristica-regular-webfont.eot");
  src: url("../fonts/heuristica/heuristica-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/heuristica/heuristica-regular-webfont.woff") format("woff"), url("../fonts/heuristica/heuristica-regular-webfont.ttf") format("truetype"), url("../fonts/heuristica/heuristica-regular-webfont.svg#Heuristica") format("svg"); }

@font-face {
  font-family: "Heuristica Bold";
  src: url("../fonts/heuristica/heuristica-bold-webfont.eot");
  src: url("../fonts/heuristica/heuristica-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/heuristica/heuristica-bold-webfont.woff") format("woff"), url("../fonts/heuristica/heuristica-bold-webfont.ttf") format("truetype"), url("../fonts/heuristica/heuristica-bold-webfont.svg#Heuristica Bold") format("svg"); }

@font-face {
  font-family: "Heuristica Italic";
  src: url("../fonts/heuristica/heuristica-italic-webfont.eot");
  src: url("../fonts/heuristica/heuristica-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/heuristica/heuristica-italic-webfont.woff") format("woff"), url("../fonts/heuristica/heuristica-italic-webfont.ttf") format("truetype"), url("../fonts/heuristica/heuristica-italic-webfont.svg#Heuristica Italic") format("svg"); }

@font-face {
  font-family: "WesfarmersIcons";
  src: url("../fonts/wesfarmers-icons/wesfarmers-icons.eot");
  src: url("../fonts/wesfarmers-icons/wesfarmers-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/wesfarmers-icons/wesfarmers-icons.woff") format("woff"), url("../fonts/wesfarmers-icons/wesfarmers-icons.ttf") format("truetype"), url("../fonts/wesfarmers-icons/wesfarmers-icons.svg#WesfarmersIcons") format("svg"); }

@font-face {
  font-family: "Stolzl W00 Light";
  src: url("../fonts/stolzl/stolzl-light-webfont.eot");
  src: url("../fonts/stolzl/stolzl-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/stolzl/stolzl-light-webfont.woff") format("woff"), url("../fonts/stolzl/stolzl-light-webfont.ttf") format("truetype"), url("../fonts/stolzl/stolzl-light-webfont.svg#Stolzl W00 Light") format("svg"); }

/*
@font-face {
  font-family: "Stolzl W00 Light";
  src: url("../fonts/Stolzl-Light.otf") format("otf");
}
@font-face {
  font-family: "Heuristica";
  src: url("../fonts/Heuristica-Regular.otf") format("otf");
}
@font-face { 
  font-family: "Heuristica Bold";
  src: url("../fonts/Heuristica-Bold.otf") format("otf");
}
@font-face {
  font-family: "Heuristica Italic";
  src: url('../fonts/Heuristica-Italic.otf') format("otf");
}
*/
html {
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #2c2f2f;
  padding: 0; }

h2, h3, h4, h5, h6 {
  font-family: "Heuristica Bold"; }

h1 {
  font-family: "Stolzl W00 Medium";
  font-size: 1.25em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h1 {
      font-size: 2.375em;
      margin-bottom: 20px; } }

h2 {
  font-size: 1.375em;
  line-height: 1.18182em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h2 {
      font-size: 1.875em;
      margin-bottom: 20px; } }

h3 {
  font-size: 1.25em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h3 {
      font-size: 1.5em; } }

h4 {
  font-size: 1.125em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h4 {
      font-size: 1.25em; } }

h5 {
  font-size: 1em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h5 {
      font-size: 1.125em;
      color: #0B8651; } }

p {
  font-size: 1.0625em;
  line-height: 1.47059em;
  padding: 0;
  margin: 0 0 10px 0; }
  @media screen and (min-width: 48em) {
    p {
      font-size: 1.125em;
      line-height: 1.44444em;
      padding: 0;
      margin: 0 0 15px 0; } }
  p .btn {
    font-size: 1em; }
    @media screen and (min-width: 48em) {
      p .btn {
        font-size: 1em; } }

a {
  text-decoration: none;
  transition: all 150ms ease-in-out;
  color: #2c2f2f;
  cursor: pointer; }
  a:hover, a:focus {
    color: #000;
    text-decoration: none; }

@media screen and (min-width: 48em) {
  p > a:hover, p > a:focus {
    color: #000;
    text-decoration: underline; } }

ul, ol {
  margin: 0 0 1em 1em; }
  @media screen and (min-width: 48em) {
    ul, ol {
      margin: 0 0 1.1875em 1.1875em; } }

ul li, ol li {
  font-size: 1.0625em;
  line-height: 1.5625em; }
  @media screen and (min-width: 48em) {
    ul li, ol li {
      font-size: 1.125em;
      line-height: 1.44444em; } }

li ul, li ol {
  margin: 0.5em 0 0.5em 1.1875em; }

li ul li, li ol li {
  font-size: 1em;
  line-height: 1.1875em; }
  @media screen and (min-width: 48em) {
    li ul li, li ol li {
      font-size: 1em;
      line-height: 1.5em; } }

ul {
  list-style-type: disc; }

ol {
  list-style-type: decimal; }

ol ol {
  list-style: upper-alpha; }

ol ol ol {
  list-style: lower-roman; }

ol ol ol ol {
  list-style: lower-alpha; }

strong {
  font-weight: normal; }

abbr[title] {
  border: 0;
  cursor: pointer; }

blockquote, q {
  font-family: "Stolzl W00 Book";
  font-size: 1.0625em;
  line-height: 1.47059em;
  text-transform: uppercase;
  color: #2c2f2f;
  quotes: none;
  padding-left: 20px;
  max-width: 100%;
  margin: 20px 0;
  border-left: 9px solid #00e862; }
  blockquote:before, q:before {
    content: "";
    display: table;
    clear: both; }
  blockquote:after, q:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    blockquote, q {
      font-size: 1.25em;
      line-height: 1.5em;
      border-left: 15px solid #00e862;
      padding-left: 30px;
      margin: 30px 0;
      max-width: 90%; } }
  @media screen and (min-width: 64em) {
    blockquote, q {
      font-size: 1.625em;
      line-height: 1.73077em;
      border-left: 23px solid #00e862;
      padding-left: 40px;
      margin: 30px 0;
      max-width: 90%; } }

table {
  position: relative;
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
  margin: 0;
  overflow-x: auto; }
  @media screen and (min-width: 48em) {
    table {
      display: inline-table; } }
  table caption {
    position: absolute;
    left: -999999em; }
  table th, table td {
    vertical-align: top;
    padding: 15px 20px; }
  table th {
    background: #969797; }
  table tr.highlight {
    background: #e7f4f9;
    font-weight: 700; }
  table td {
    border-bottom: solid 1px #969797; }
  table tr:nth-child(even) {
    background-color: #eaeaea; }
  table tr:hover {
    background-color: #e7f4f9; }
  table .active {
    background: #00e862; }

.small {
  font-size: 0.875em; }
  @media screen and (min-width: 48em) {
    .small {
      font-size: 1em; } }

.large {
  font-size: 1.1875em;
  font-weight: 700; }
  @media screen and (min-width: 48em) {
    .large {
      font-size: 1.5em; } }

i {
  font-family: 'WesfarmersIcons';
  font-style: normal;
  font-weight: normal; }

article > :first-child {
  margin-top: 30px; }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  article {
    margin-left: 100px;
    margin-right: 100px; } }

@media all and (max-width: 48em) {
  html {
    overflow-x: hidden; } }

body {
  overflow-x: hidden;
  height: auto; }
  body.ftr-fix {
    height: 100%; }

.wrapper {
  max-width: 100%;
  min-height: 100%;
  position: relative;
  margin: auto; }
  @media screen and (min-width: 48em) {
    .wrapper {
      overflow: hidden; } }

#main:before {
  content: "";
  display: table;
  clear: both; }

#main:after {
  content: "";
  display: table;
  clear: both; }

#main.overlay {
  position: relative; }
  #main.overlay:before {
    position: absolute;
    z-index: 3;
    width: 100%;
    height: 100%;
    display: block;
    background: #2c2f2f;
    opacity: .35; }

.container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px; }
  @media screen and (min-width: 48em) {
    .container {
      padding: 0 20px; } }
  .container > *:last-child {
    margin-bottom: 0; }

section {
  margin: 0; }
  section.grey {
    background: #ebf0f1; }
  section.panels {
    padding: 0; }
    @media screen and (min-width: 30em) {
      section.panels {
        padding: 30px; } }
    @media screen and (min-width: 48em) {
      section.panels {
        padding: 45px 20px; } }
    @media screen and (min-width: 64em) {
      section.panels {
        padding: 45px 20px; } }
    @media screen and (min-width: 80em) {
      section.panels {
        padding-top: 75px; } }
  section.indent-medium {
    margin: 0 auto; }
    @media screen and (min-width: 118.75em) {
      section.indent-medium {
        max-width: 1345px; } }
  section.indent-small {
    margin: 0 auto; }
    @media screen and (min-width: 64em) {
      section.indent-small {
        max-width: 800px; } }
    @media screen and (min-width: 80em) {
      section.indent-small {
        max-width: 1060px; } }
  section.spaced {
    margin-top: 40px;
    margin-bottom: 40px; }

a {
  color: #616363;
  text-decoration: underline; }
  a:hover {
    color: #616363;
    text-decoration: none; }

.btn.close {
  text-indent: -9999em;
  text-align: left;
  background: transparent url("../img/icons/icon-close.png") no-repeat 5px 8px; }
  .btn.close:hover {
    background: transparent url("../img/icons/icon-close-active.png") no-repeat 5px 8px; }

.btn.filter {
  color: #616363;
  background: #fff;
  border: solid 1px #646464;
  text-transform: uppercase;
  font-size: small;
  margin-left: 10px;
  line-height: 30px;
  margin-bottom: 10px; }
  .btn.filter:hover, .btn.filter:focus, .btn.filter:active {
    border: solid 1px #00e862;
    background: #00e862;
    color: #fff; }

.btn.invert {
  background: #fff;
  color: #ec671c; }
  .btn.invert:hover, .btn.invert:focus {
    background: #fff;
    color: #ec671c; }
  .btn.invert:visited {
    color: #ec671c; }

.btn-submit {
  font-family: "Stolzl W00 Medium";
  font-size: 0.75em;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #fff;
  background-color: #00e862;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  margin-top: 25px; }
  .btn-submit:active, .btn-submit:visited {
    background-color: #00e862; }
  .btn-submit:hover {
    background-color: #616363; }

.btnFilter {
  padding-bottom: 50px;
  padding-left: 15px; }

.btnFilter span {
  font-size: small;
  text-transform: uppercase;
  padding-bottom: 10px; }

.page-intro {
  text-align: center;
  background: #ebf0f1;
  padding-top: 35px;
  padding-bottom: 35px;
  margin-bottom: 0; }
  .page-intro > *:last-child {
    margin-bottom: 0; }
  .page-intro .wysiwyg > :first-child {
    margin-top: 0; }
  .page-intro .wysiwyg > div *:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .page-intro {
      background: transparent;
      padding-top: 30px;
      padding-bottom: 30px;
      margin-bottom: 20px; } }
  @media screen and (min-width: 64em) {
    .page-intro {
      padding-top: 50px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 80em) {
    .page-intro {
      padding-top: 60px;
      padding-bottom: 15px; } }
  @media screen and (min-width: 90em) {
    .page-intro {
      padding-top: 80px;
      padding-bottom: 35px;
      margin-bottom: 25px; } }
  @media screen and (min-width: 118.75em) {
    .page-intro {
      padding-top: 105px;
      padding-bottom: 42px; } }
  .page-intro h1 {
    text-transform: uppercase;
    letter-spacing: 0.0375em; }
    @media screen and (min-width: 48em) {
      .page-intro h1 {
        font-size: 1.625em; } }
    @media screen and (min-width: 64em) {
      .page-intro h1 {
        font-size: 1.75em; } }
    @media screen and (min-width: 80em) {
      .page-intro h1 {
        font-size: 2em; } }
    @media screen and (min-width: 118.75em) {
      .page-intro h1 {
        font-size: 2.625em; } }
  @media screen and (min-width: 48em) {
    .page-intro p {
      margin: 0 auto;
      margin-bottom: 10px;
      text-align: center;
      max-width: 500px; } }
  @media screen and (min-width: 64em) {
    .page-intro p {
      margin: 0 auto;
      text-align: center;
      max-width: 700px;
      margin-bottom: 15px; } }
  .page-intro a {
    text-decoration: underline; }
  .page-intro.shallow {
    margin-bottom: 0; }

.hidden {
  position: absolute;
  left: -9999em; }

.round-img {
  border-radius: 80%; }

.resp-img {
  width: 100%;
  height: auto;
  display: block; }

.align-center {
  margin: 0 auto; }

.content-page strong, .row-section strong {
  font-weight: 700;
  font-weight: bold; }

@media screen and (min-width: 80em) {
  .content-page .row, .row-section .row {
    max-width: 100%; } }

.content-page .row.gallery-info, .row-section .row.gallery-info {
  margin-bottom: 20px; }
  @media screen and (min-width: 64em) {
    .content-page .row.gallery-info, .row-section .row.gallery-info {
      max-width: 980px;
      margin-bottom: 10px auto 80px auto; } }
  @media screen and (min-width: 80em) {
    .content-page .row.gallery-info, .row-section .row.gallery-info {
      max-width: 1280px;
      margin: 20px auto 120px auto; } }
  .content-page .row.gallery-info abbr, .row-section .row.gallery-info abbr {
    padding: 0 15px 0 0; }

@media only screen and (min-device-width: 1024px) and (max-device-width: 1279px) {
  .large-collapse .column, .large-collapse .columns,
  .large-collapse .columns {
    padding-left: 50px;
    padding-right: 50px; } }

#main .investors {
  background-color: #2c2f2f; }
  #main .investors .page-intro {
    background-color: #2c2f2f;
    border-bottom: 6px solid #00e862; }
    #main .investors .page-intro h1 {
      color: #fff; }
  @media screen and (min-width: 48em) {
    #main .investors {
      background-color: transparent; }
      #main .investors .page-intro {
        margin-bottom: 40px; } }
  @media screen and (min-width: 90em) {
    #main .investors {
      border-bottom-width: 10px; } }
  @media screen and (min-width: 90em) {
    #main .investors {
      background-color: #2c2f2f;
      margin-bottom: 80px;
      border-bottom: 6px solid #00e862; }
      #main .investors .page-intro {
        margin-bottom: 0;
        border-bottom: none; } }

::-webkit-input-placeholder {
  color: #cacbcb;
  text-align: left; }

::-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

:-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

::-ms-input-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

:-ms-input-placeholder {
  color: #cacbcb;
  text-align: left; }

::placeholder {
  color: #cacbcb;
  text-align: left; }

.subscribe ::-webkit-input-placeholder {
  color: #cacbcb;
  text-align: left; }

.subscribe ::-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

.subscribe :-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

.subscribe ::-ms-input-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

.subscribe :-ms-input-placeholder {
  color: #cacbcb;
  text-align: left; }

.subscribe ::placeholder {
  color: #cacbcb;
  text-align: left; }

/*
// sticky footer
@include breakpoint (medium) {
  html, body {
      height: 100%;
  }

  #wrapper {
     height: 100%;
  }

  #main {
      min-height:100%;
  }


}*/
ul.no-bullet, ol.no-bullet, nav .global,
nav .util, nav .global-sub .global-sub-nav, .content-nav ul, .related-content ul, footer nav ul, footer .ftr-util-wrapper .ftr-social, .home-news-list ul, .investor-centre .share-promo .share-price .stock-updated-list, .investor-centre .tile-links ul, .gallery-wrapper .mg-grid, .gallery-filter .options, .gallery-filter .options li ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }

.btn {
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  padding: 0 15px;
  background-color: #ec671c;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  font-size: 1.1875em;
  cursor: pointer;
  border: 0;
  line-height: 40px; }
  .btn:hover, .btn:focus {
    text-decoration: none;
    background-color: #222;
    color: #fff; }
  .btn:visited {
    color: #fff; }

.ui-datepicker {
  display: none;
  padding: 8px;
  z-index: 1005 !important; }

.ui-datepicker-header {
  background-color: #f4f4f4;
  height: 40px;
  font-size: 0.8125em;
  color: #fff; }
  .ui-datepicker-header a {
    width: 36px;
    height: 40px;
    cursor: pointer; }
    .ui-datepicker-header a:hover {
      background-color: #e7e7e7; }
    .ui-datepicker-header a.ui-state-disabled {
      background: none;
      cursor: default; }

.ui-datepicker-title {
  font-weight: bold;
  text-align: center;
  line-height: 40px; }

.ui-datepicker-prev {
  float: left;
  border-right: 1px solid #fff;
  background: url(../img/icons/icon-arw-lft-wht.png) no-repeat center; }

.ui-datepicker-next {
  float: right;
  border-left: 1px solid #fff;
  background: url(../img/icons/icon-arw-rght-wht.png) no-repeat center; }

.ui-datepicker-month, .ui-datepicker-year {
  width: 65px;
  height: 30px;
  -webkit-appearance: none;
  border-radius: 0;
  border: solid 1px #e5e7e8;
  padding: 2px 20px 2px 2px;
  margin: 5px 0 0 0;
  font-family: "soleil", sans-serif;
  font-weight: 400;
  font-size: 1em;
  -webkit-appearance: none;
  /*Removes default chrome and safari style*/
  -moz-appearance: none;
  /* Removes Default Firefox style*/
  background: #fff url(../img/icons/icon--ui-cal-down.png) no-repeat;
  /*Adds background-image*/
  background-position: right 10px;
  /*Position of the background-image*/
  text-indent: 0.01px;
  /* Removes default arrow from firefox*/
  text-overflow: "";
  /*Removes default arrow from firefox*/ }

.ui-datepicker-month::-ms-expand, .ui-datepicker-year::-ms-expand {
  display: none; }

.no-csscolumns .ui-datepicker-month, .no-csscolumns .ui-datepicker-year {
  background: #fff;
  padding: 5px; }

.ui-datepicker-month {
  margin-right: 15px; }

.ui-datepicker-calendar {
  border: 0;
  margin: 0;
  display: table;
  table-layout: auto; }
  .ui-datepicker-calendar thead {
    display: table-header-group;
    float: none; }
  .ui-datepicker-calendar tbody {
    display: table-row-group;
    white-space: normal; }
  .ui-datepicker-calendar thead tr,
  .ui-datepicker-calendar tbody tr {
    display: table-row; }
  .ui-datepicker-calendar th,
  .ui-datepicker-calendar td {
    background-color: #ff0000;
    border: 1px solid #d9d9d9;
    font-weight: bold;
    font-size: 0.8125em;
    padding: 0;
    width: 35px;
    height: 35px;
    text-align: center;
    vertical-align: middle;
    display: table-cell; }
    .ui-datepicker-calendar th.ui-datepicker-today,
    .ui-datepicker-calendar td.ui-datepicker-today {
      background: #f4f4f4; }
      .ui-datepicker-calendar th.ui-datepicker-today a,
      .ui-datepicker-calendar td.ui-datepicker-today a {
        color: #fff; }
  .ui-datepicker-calendar th {
    cursor: default; }
  .ui-datepicker-calendar td {
    background-color: #fefefe; }
    .ui-datepicker-calendar td a {
      color: #ddd;
      display: table-cell;
      width: 32px;
      height: 32px;
      vertical-align: middle; }

.ui-datepicker-unselectable {
  color: #999;
  cursor: default; }

.ui-datepicker-calendar .ui-datepicker-other-month a {
  color: #999; }

td.ui-datepicker-current-day a {
  border: 2px solid #1c6802; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }
  .slick-slide:focus {
    outline: none; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/icons/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../fonts/slick.eot");
  src: url("../fonts/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.75; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 15px;
        line-height: 20px;
        text-align: center;
        color: #2c2f2f;
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #ec671c;
      opacity: 0.75; }

header {
  background: #fff;
  padding: 0;
  position: relative;
  border-bottom: solid 1px #282828;
  padding: 10px 0; }
  header:before {
    content: "";
    display: table;
    clear: both; }
  header:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    header {
      padding: 9px 0 20px 0; } }
  @media screen and (min-width: 80em) {
    header {
      padding: 15px 0 0 0; } }
  @media screen and (min-width: 118.75em) {
    header {
      padding: 15px 0 0 0; } }
  header .container {
    padding: 0; }
    @media screen and (min-width: 80em) {
      header .container {
        max-width: 100%;
        padding: 0 40px; } }
    @media screen and (min-width: 118.75em) {
      header .container {
        margin: 0 auto;
        max-width: 2560px; } }
  header .logo {
    position: relative;
    margin: 0 auto;
    width: 104px;
    height: auto; }
    header .logo > a {
      display: block;
      width: 100%;
      height: 50px;
      background: url("../img/wf-logo.svg") center center no-repeat;
      background-size: contain; }
    @media screen and (min-width: 48em) {
      header .logo {
        margin-top: 10px;
        width: 122px; } }
    @media screen and (min-width: 80em) {
      header .logo {
        margin-top: 28px;
        margin-bottom: 15px;
        width: 140px;
        position: relative;
        z-index: 20; } }
    @media screen and (min-width: 90em) {
      header .logo {
        width: 156px;
        position: relative;
        z-index: 20; }
        header .logo > a {
          height: 64px; } }
  header .global-search {
    background: #282828;
    padding: 15px 30px;
    margin: 0 0 30px 0; }
    header .global-search:before {
      content: "";
      display: table;
      clear: both; }
    header .global-search:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 80em) {
      header .global-search {
        padding: 0;
        margin: -7px 0 0;
        background: transparent;
        float: right; } }
    header .global-search fieldset {
      position: relative; }
      header .global-search fieldset legend,
      header .global-search fieldset label {
        position: absolute;
        left: -99999em; }
      header .global-search fieldset .form-row {
        padding: 0;
        margin: 0;
        position: relative; }
        header .global-search fieldset .form-row input[type='text'] {
          border: 0;
          margin: 0;
          padding: 0;
          font-family: "Stolzl W00 Book";
          font-size: 1.0625em;
          color: #fff;
          text-transform: uppercase;
          background: transparent;
          width: 100%;
          padding-right: 40px; }
          header .global-search fieldset .form-row input[type='text']:hover, header .global-search fieldset .form-row input[type='text']:focus {
            color: #fff; }
          @media screen and (min-width: 80em) {
            header .global-search fieldset .form-row input[type='text'] {
              font-family: "Stolzl W00 Book";
              font-size: 0.8125em;
              color: #969797;
              height: auto;
              padding: 10px 20px 5px 2px;
              border-bottom: solid 1px #cacbcb;
              width: 12.5em; }
              header .global-search fieldset .form-row input[type='text']:hover, header .global-search fieldset .form-row input[type='text']:focus {
                outline: 0; } }
          @media screen and (min-width: 118.75em) {
            header .global-search fieldset .form-row input[type='text'] {
              font-family: "Stolzl W00 Book";
              font-size: 0.875em; } }
        header .global-search fieldset .form-row input[type='text']:focus {
          border-bottom: 1px solid rgba(255, 255, 255, 0.5);
          color: #eaeaea; }
        @media screen and (min-width: 80em) {
          header .global-search fieldset .form-row input[type='text']:focus {
            border-bottom-color: #000;
            color: #2c2f2f; } }
        header .global-search fieldset .form-row input[type='submit'] {
          position: absolute;
          margin: 0;
          padding: 0;
          top: 8px;
          right: 0;
          text-align: left;
          text-indent: -9999em;
          border: 0;
          width: 20px;
          height: 20px;
          background-color: transparent;
          cursor: pointer; }
        header .global-search fieldset .form-row i {
          position: absolute;
          top: 40%;
          right: 5px;
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
          font-size: 22px;
          color: #fff;
          background-color: transparent;
          opacity: .5;
          cursor: pointer; }
        @media screen and (min-width: 80em) {
          header .global-search fieldset .form-row i {
            color: #3c3e3e;
            font-size: 18px;
            height: 68%; } }
  header .burger-button {
    position: absolute;
    right: 34px;
    bottom: 14px; }
    @media screen and (min-width: 80em) {
      header .burger-button {
        display: none; } }
    header .burger-button .burger-icon {
      position: relative;
      margin-top: 7px;
      margin-bottom: 7px;
      -webkit-user-select: none;
      -ms-user-select: none;
      user-select: none; }
      header .burger-button .burger-icon, header .burger-button .burger-icon::before, header .burger-button .burger-icon::after {
        display: block;
        width: 25px;
        height: 1px;
        background-color: #222;
        transition-property: background-color, transform;
        transition-duration: 0.3s; }
      header .burger-button .burger-icon::before, header .burger-button .burger-icon::after {
        position: absolute;
        content: ""; }
      header .burger-button .burger-icon::before {
        top: -7px; }
      header .burger-button .burger-icon::after {
        top: 7px; }
    header .burger-button.is-active .burger-icon {
      background-color: transparent; }
    header .burger-button.is-active .burger-icon::before {
      -ms-transform: translateY(7px) rotate(45deg);
      transform: translateY(7px) rotate(45deg); }
    header .burger-button.is-active .burger-icon::after {
      -ms-transform: translateY(-7px) rotate(-45deg);
      transform: translateY(-7px) rotate(-45deg); }

header.home {
  min-height: 80px;
  border-bottom-color: #fff; }
  header.home .logo {
    margin-top: 4px; }
  header.home .burger-button {
    bottom: 20px; }
  @media screen and (min-width: 48em) {
    header.home {
      min-height: 90px; }
      header.home .logo {
        margin-top: 10px; } }
  @media screen and (min-width: 80em) {
    header.home {
      padding: 60px 0 0 0;
      min-height: none;
      max-height: 160px; }
      header.home .global-sub {
        border-top: 1px solid #2c2f2f; } }
  @media screen and (min-width: 90em) {
    header.home .logo {
      width: 175px; }
      header.home .logo > a {
        height: 70px; } }
  @media screen and (min-width: 118.75em) {
    header.home .logo {
      margin-top: 0;
      width: 205px; }
      header.home .logo > a {
        height: 80px; } }

/*
@include breakpoint(xlarge) {
    nav .investors .global-sub {
        display: inline-block!important;
        //width:100%!important;
    }
}
*/
.nav-wrapper {
  position: relative;
  z-index: 1;
  transition-duration: 450ms;
  -ms-transform: translate(100%);
      transform: translate(100%);
  position: absolute;
  top: calc(100% + 1px);
  left: auto;
  right: -320px;
  width: 320px;
  display: block;
  background: #fff;
  z-index: 10;
  padding-bottom: 100%; }
  @media screen and (min-width: 48em) {
    .nav-wrapper {
      right: -320px;
      width: 320px; } }
  @media screen and (min-width: 80em) {
    .nav-wrapper {
      transition: none;
      transition-duration: 0;
      position: relative;
      -ms-transform: translate(0);
          transform: translate(0);
      left: auto;
      right: auto;
      top: auto;
      width: auto;
      background: transparent;
      padding-bottom: 0; } }
  .nav-wrapper.mbl-active {
    right: 0px;
    -ms-transform: translate(0);
        transform: translate(0);
    display: block;
    z-index: 99999; }
    @media screen and (min-width: 48em) {
      .nav-wrapper.mbl-active {
        right: 0px; } }

nav:before {
  content: "";
  display: table;
  clear: both; }

nav:after {
  content: "";
  display: table;
  clear: both; }

nav .columns {
  padding-left: 1.25rem;
  padding-right: 1.25rem; }

nav .menu-title {
  display: block;
  padding: 0 0 10px;
  margin: 4px 30px 30px;
  font-family: "Stolzl W00 Medium";
  letter-spacing: 0.0375em;
  font-size: 0.8125em;
  color: #616363;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  border-bottom: 1px solid #616363; }

nav .global,
nav .util {
  padding: 0 30px; }
  nav .global:before,
  nav .util:before {
    content: "";
    display: table;
    clear: both; }
  nav .global:after,
  nav .util:after {
    content: "";
    display: table;
    clear: both; }
  nav .global > li,
  nav .util > li {
    padding: 0 0 1.125em 0;
    margin: 0;
    font-family: Heuristica;
    color: #2c2f2f; }
    nav .global > li:before,
    nav .util > li:before {
      content: "";
      display: table;
      clear: both; }
    nav .global > li:after,
    nav .util > li:after {
      content: "";
      display: table;
      clear: both; }
    nav .global > li > span,
    nav .global > li > a,
    nav .util > li > span,
    nav .util > li > a {
      transition: color .15s;
      display: block;
      color: #2c2f2f;
      cursor: pointer; }
      nav .global > li > span:hover, nav .global > li > span:focus, nav .global > li > span.active,
      nav .global > li > a:hover,
      nav .global > li > a:focus,
      nav .global > li > a.active,
      nav .util > li > span:hover,
      nav .util > li > span:focus,
      nav .util > li > span.active,
      nav .util > li > a:hover,
      nav .util > li > a:focus,
      nav .util > li > a.active {
        text-decoration: underline;
        color: #616363; }
    nav .global > li .global-sub,
    nav .util > li .global-sub {
      transition-duration: 450ms;
      -ms-transform: translate(100%);
          transform: translate(100%);
      position: absolute;
      left: auto;
      width: 100%;
      display: block;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #eaeaea;
      z-index: 6; }
      nav .global > li .global-sub .global-sub-intro,
      nav .util > li .global-sub .global-sub-intro {
        display: none; }
      nav .global > li .global-sub.is-active,
      nav .util > li .global-sub.is-active {
        -ms-transform: translate(0);
            transform: translate(0); }
        nav .global > li .global-sub.is-active .global-sub-nav,
        nav .util > li .global-sub.is-active .global-sub-nav {
          padding: 0 10px; }
      nav .global > li .global-sub .row,
      nav .util > li .global-sub .row {
        max-width: none; }
      nav .global > li .global-sub .global-sub-nav > li span,
      nav .global > li .global-sub .global-sub-nav > li a,
      nav .util > li .global-sub .global-sub-nav > li span,
      nav .util > li .global-sub .global-sub-nav > li a {
        color: #2c2f2f;
        font-family: "Heuristica"; }
      nav .global > li .global-sub .global-sub-nav > li:hover > span,
      nav .global > li .global-sub .global-sub-nav > li:hover > a, nav .global > li .global-sub .global-sub-nav > li:focus > span,
      nav .global > li .global-sub .global-sub-nav > li:focus > a, nav .global > li .global-sub .global-sub-nav > li.active > span,
      nav .global > li .global-sub .global-sub-nav > li.active > a,
      nav .util > li .global-sub .global-sub-nav > li:hover > span,
      nav .util > li .global-sub .global-sub-nav > li:hover > a,
      nav .util > li .global-sub .global-sub-nav > li:focus > span,
      nav .util > li .global-sub .global-sub-nav > li:focus > a,
      nav .util > li .global-sub .global-sub-nav > li.active > span,
      nav .util > li .global-sub .global-sub-nav > li.active > a {
        color: #616363;
        text-decoration: underline; }
      nav .global > li .global-sub .menu-title,
      nav .util > li .global-sub .menu-title {
        color: #0B8651;
        border-bottom-color: #0B8651;
        margin: 14px 10px 30px; }

nav .global > li.investors .global-sub .row .columns .row {
  max-width: 1480px; }

/*
@include breakpoint(smallmedium) {
    nav {}
}
*/
@media screen and (min-width: 48em) {
  nav .columns {
    padding-left: 2.15rem;
    padding-right: 2.15rem; }
  nav .global > li,
  nav .util > li {
    font-size: 1.0625em;
    line-height: 1.5625em; } }

@media screen and (min-width: 64em) {
  nav .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 80em) {
  nav {
    margin-top: -35px; }
    nav .global-sub > .row {
      -ms-flex-flow: row;
          flex-flow: row; }
    nav .global-sub .global-sub-nav {
      padding: 0 !important; }
      nav .global-sub .global-sub-nav .global-sub-nav {
        display: none !important; }
    nav .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; }
    nav .columns {
      -ms-flex: 1 auto;
          flex: 1 auto; }
      nav .columns .global-sub-nav,
      nav .columns .sub-title {
        max-width: 380px; }
    nav .menu-title,
    nav .global-sub .menu-title {
      display: none; }
    nav .global,
    nav .util {
      float: left;
      padding: 0; }
      nav .global > li,
      nav .util > li {
        display: inline-block;
        padding: 0; }
        nav .global > li > span,
        nav .global > li > a,
        nav .util > li > span,
        nav .util > li > a {
          margin-right: 18px;
          color: #2c2f2f;
          font-size: 0.78125em;
          min-height: 60px; }
          nav .global > li > span:after,
          nav .global > li > a:after,
          nav .util > li > span:after,
          nav .util > li > a:after {
            transition: none;
            background-color: #00e862; }
        nav .global > li:hover > span,
        nav .global > li:hover > a, nav .global > li:focus > span,
        nav .global > li:focus > a, nav .global > li.active > span,
        nav .global > li.active > a,
        nav .util > li:hover > span,
        nav .util > li:hover > a,
        nav .util > li:focus > span,
        nav .util > li:focus > a,
        nav .util > li.active > span,
        nav .util > li.active > a {
          text-decoration: none; }
          nav .global > li:hover > span:after,
          nav .global > li:hover > a:after, nav .global > li:focus > span:after,
          nav .global > li:focus > a:after, nav .global > li.active > span:after,
          nav .global > li.active > a:after,
          nav .util > li:hover > span:after,
          nav .util > li:hover > a:after,
          nav .util > li:focus > span:after,
          nav .util > li:focus > a:after,
          nav .util > li.active > span:after,
          nav .util > li.active > a:after {
            content: '';
            display: block;
            position: absolute;
            left: -5px;
            bottom: -8px;
            z-index: 3;
            width: 100%;
            height: 7px;
            background-color: #00e862; }
        nav .global > li .global-sub,
        nav .util > li .global-sub {
          transition: none;
          transition-duration: 0;
          -ms-transform: translate(0);
              transform: translate(0);
          display: none;
          padding: 50px 0 30px;
          position: absolute;
          z-index: 2;
          top: 100%;
          right: auto;
          left: auto;
          margin-left: -5px;
          width: 105%;
          width: calc(100% + 45px);
          background: #fff;
          border-top: 1px solid #2c2f2f; }
          nav .global > li .global-sub .nav-list,
          nav .util > li .global-sub .nav-list {
            padding-left: 0;
            padding-right: 0;
            max-width: 260px; }
          nav .global > li .global-sub .global-sub-intro,
          nav .util > li .global-sub .global-sub-intro {
            display: block;
            -ms-flex: 1 0 200px;
                flex: 1 0 200px;
            max-width: 200px;
            margin-left: 90px;
            padding-left: 0;
            padding-right: 0;
            font-family: 'Heuristica';
            font-size: 1em;
            letter-spacing: 0;
            text-transform: none; }
            nav .global > li .global-sub .global-sub-intro .image-link,
            nav .util > li .global-sub .global-sub-intro .image-link {
              display: block;
              position: relative;
              max-width: 330px;
              border-bottom: 1px #cacbcb solid; }
              nav .global > li .global-sub .global-sub-intro .image-link > .image,
              nav .util > li .global-sub .global-sub-intro .image-link > .image {
                position: relative;
                overflow: hidden;
                display: block; }
                nav .global > li .global-sub .global-sub-intro .image-link > .image > img,
                nav .util > li .global-sub .global-sub-intro .image-link > .image > img {
                  -ms-transform: scale(1.02);
                      transform: scale(1.02);
                  transition: all .3s ease-in-out;
                  vertical-align: top; }
                nav .global > li .global-sub .global-sub-intro .image-link > .image:before,
                nav .util > li .global-sub .global-sub-intro .image-link > .image:before {
                  display: block;
                  position: absolute;
                  content: '';
                  z-index: 999;
                  background-color: #2c2f2f;
                  width: 100%;
                  height: 100%;
                  opacity: 0;
                  transition: opacity .3s; }
              nav .global > li .global-sub .global-sub-intro .image-link > span,
              nav .util > li .global-sub .global-sub-intro .image-link > span {
                display: block;
                position: relative;
                padding-left: 26px;
                font-family: "Stolzl W00 Medium";
                letter-spacing: 0.0375em;
                font-size: 0.8125em;
                color: #2c2f2f;
                text-transform: uppercase;
                height: auto;
                transition: color .3s ease-in-out;
                margin-top: 16px;
                margin-bottom: 16px; }
                nav .global > li .global-sub .global-sub-intro .image-link > span:after,
                nav .util > li .global-sub .global-sub-intro .image-link > span:after {
                  content: "";
                  font-family: 'WesfarmersIcons';
                  font-size: 18px;
                  color: #00e862;
                  display: block;
                  position: absolute;
                  left: 0px;
                  top: 50%;
                  -ms-transform: translateY(-50%);
                      transform: translateY(-50%);
                  background-color: transparent; }
              nav .global > li .global-sub .global-sub-intro .image-link:hover > .image > img, nav .global > li .global-sub .global-sub-intro .image-link:focus > .image > img,
              nav .util > li .global-sub .global-sub-intro .image-link:hover > .image > img,
              nav .util > li .global-sub .global-sub-intro .image-link:focus > .image > img {
                -ms-transform: scale(1.1);
                    transform: scale(1.1); }
              nav .global > li .global-sub .global-sub-intro .image-link:hover > .image:before, nav .global > li .global-sub .global-sub-intro .image-link:focus > .image:before,
              nav .util > li .global-sub .global-sub-intro .image-link:hover > .image:before,
              nav .util > li .global-sub .global-sub-intro .image-link:focus > .image:before {
                opacity: .33; }
              nav .global > li .global-sub .global-sub-intro .image-link:hover > p, nav .global > li .global-sub .global-sub-intro .image-link:focus > p,
              nav .util > li .global-sub .global-sub-intro .image-link:hover > p,
              nav .util > li .global-sub .global-sub-intro .image-link:focus > p {
                color: #00cf57;
                text-decoration: none; }
            nav .global > li .global-sub .global-sub-intro p,
            nav .util > li .global-sub .global-sub-intro p {
              display: block;
              max-width: 260px;
              margin-top: -2px;
              font-size: 0.875em; }
          nav .global > li .global-sub .sub-title,
          nav .util > li .global-sub .sub-title {
            cursor: default;
            font-size: 0.8125em;
            margin-top: 0;
            margin-bottom: 0;
            min-height: 38px;
            font-family: "Stolzl W00 Book";
            padding-left: 5px;
            padding-right: 0; }
          nav .global > li .global-sub .global-sub-nav > li,
          nav .util > li .global-sub .global-sub-nav > li {
            padding-top: 5px;
            padding-bottom: 5px;
            padding-left: 5px;
            transition: background-color .3s, border .3s;
            border-top: 1px #cacbcb solid; }
            nav .global > li .global-sub .global-sub-nav > li > span,
            nav .global > li .global-sub .global-sub-nav > li > a,
            nav .util > li .global-sub .global-sub-nav > li > span,
            nav .util > li .global-sub .global-sub-nav > li > a {
              font-family: 'Heuristica';
              font-size: 0.9375em;
              letter-spacing: 0; }
            nav .global > li .global-sub .global-sub-nav > li:last-child,
            nav .util > li .global-sub .global-sub-nav > li:last-child {
              border-bottom: 1px #cacbcb solid; }
            nav .global > li .global-sub .global-sub-nav > li:last-child:hover, nav .global > li .global-sub .global-sub-nav > li:last-child:focus, nav .global > li .global-sub .global-sub-nav > li:last-child.active,
            nav .util > li .global-sub .global-sub-nav > li:last-child:hover,
            nav .util > li .global-sub .global-sub-nav > li:last-child:focus,
            nav .util > li .global-sub .global-sub-nav > li:last-child.active {
              border-bottom-color: #00e862; }
            nav .global > li .global-sub .global-sub-nav > li:hover, nav .global > li .global-sub .global-sub-nav > li:focus, nav .global > li .global-sub .global-sub-nav > li.active,
            nav .util > li .global-sub .global-sub-nav > li:hover,
            nav .util > li .global-sub .global-sub-nav > li:focus,
            nav .util > li .global-sub .global-sub-nav > li.active {
              background-color: #00e862;
              border-top-color: #00e862; }
              nav .global > li .global-sub .global-sub-nav > li:hover > span,
              nav .global > li .global-sub .global-sub-nav > li:hover > a, nav .global > li .global-sub .global-sub-nav > li:focus > span,
              nav .global > li .global-sub .global-sub-nav > li:focus > a, nav .global > li .global-sub .global-sub-nav > li.active > span,
              nav .global > li .global-sub .global-sub-nav > li.active > a,
              nav .util > li .global-sub .global-sub-nav > li:hover > span,
              nav .util > li .global-sub .global-sub-nav > li:hover > a,
              nav .util > li .global-sub .global-sub-nav > li:focus > span,
              nav .util > li .global-sub .global-sub-nav > li:focus > a,
              nav .util > li .global-sub .global-sub-nav > li.active > span,
              nav .util > li .global-sub .global-sub-nav > li.active > a {
                text-decoration: none;
                color: #000; }
              nav .global > li .global-sub .global-sub-nav > li:hover + li, nav .global > li .global-sub .global-sub-nav > li:focus + li, nav .global > li .global-sub .global-sub-nav > li.active + li,
              nav .util > li .global-sub .global-sub-nav > li:hover + li,
              nav .util > li .global-sub .global-sub-nav > li:focus + li,
              nav .util > li .global-sub .global-sub-nav > li.active + li {
                border-top-color: #00e862; }
    nav .global {
      padding: 0;
      float: left; }
      nav .global > li {
        font-family: "Stolzl W00 Medium";
        text-transform: uppercase;
        letter-spacing: 0.0375em;
        font-size: 1.0625em; }
        nav .global > li > span,
        nav .global > li > a {
          display: block;
          position: relative; }
          nav .global > li > span:before,
          nav .global > li > a:before {
            content: "";
            display: table;
            clear: both; }
          nav .global > li > span:after,
          nav .global > li > a:after {
            content: "";
            display: table;
            clear: both; }
        nav .global > li:hover span, nav .global > li:hover a, nav .global > li:focus span, nav .global > li:focus a, nav .global > li.active span, nav .global > li.active a {
          color: #0B8651; }
          nav .global > li:hover span:after, nav .global > li:hover a:after, nav .global > li:focus span:after, nav .global > li:focus a:after, nav .global > li.active span:after, nav .global > li.active a:after {
            display: block; }
        nav .global > li:hover .global-sub, nav .global > li:focus .global-sub {
          display: block; }
        nav .global > li.investors .nav-list-investors > .row:first-child {
          width: 100%; }
        nav .global > li.investors .nav-list-investors > .row:not(:first-child) {
          -ms-flex-flow: row;
              flex-flow: row; }
        nav .global > li.investors .sub-title + .global-sub-nav {
          display: block !important; }
        nav .global > li.investors > span,
        nav .global > li.investors > a {
          margin-left: 20px; }
          nav .global > li.investors > span:before,
          nav .global > li.investors > a:before {
            display: block;
            position: absolute;
            left: -20px;
            top: 3px;
            z-index: 3;
            width: 1px;
            height: 20px;
            background: #616363; }
        nav .global > li.investors .image-link {
          margin-top: 95px; }
        nav .global > li.investors .global-sub-intro {
          margin-left: 0; }
        nav .global > li.investors .global-sub {
          left: 0;
          padding-right: 20px; }
          nav .global > li.investors .global-sub .row {
            max-width: 100%; }
          nav .global > li.investors .global-sub .inv-centre {
            position: relative;
            margin-bottom: 0;
            color: #2c2f2f;
            font-size: 0.90625em;
            padding-left: 30px;
            height: auto;
            min-height: none;
            margin-left: -5px;
            margin-bottom: 30px; }
            nav .global > li.investors .global-sub .inv-centre:before {
              content: "";
              font-family: 'WesfarmersIcons';
              font-size: 22px;
              color: #00e862;
              display: block;
              position: absolute;
              left: 0px;
              top: 50%;
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
            nav .global > li.investors .global-sub .inv-centre:hover, nav .global > li.investors .global-sub .inv-centre:focus, nav .global > li.investors .global-sub .inv-centre.active {
              color: #00cf57;
              text-decoration: none; }
          nav .global > li.investors .global-sub .global-sub-nav > li:first-child {
            margin-top: 0;
            border-top-color: transparent !important; }
    nav .util {
      padding: 0;
      float: right; }
      nav .util > span,
      nav .util > a {
        position: relative;
        display: block;
        margin-right: 20px; }
        nav .util > span:before,
        nav .util > a:before {
          content: "";
          display: table;
          clear: both; }
        nav .util > span:after,
        nav .util > a:after {
          content: "";
          display: table;
          clear: both; }
        nav .util > span:hover, nav .util > span:focus,
        nav .util > a:hover,
        nav .util > a:focus {
          color: #0B8651; }
      nav .util > li {
        position: relative;
        font-family: "Stolzl W00 Book";
        letter-spacing: 0.0375em;
        text-transform: uppercase; }
        nav .util > li > span,
        nav .util > li > a {
          display: block;
          position: relative;
          font-size: 0.75em; }
        nav .util > li .global-sub {
          display: none;
          right: auto;
          left: -20px;
          width: 600px;
          -ms-transform: translate(0);
              transform: translate(0);
          padding-left: 20px;
          /*
                    &:before {
                        display: block;
                        left: 100%;
                        z-index: 0;
                    }
                    */ }
          nav .util > li .global-sub:before, nav .util > li .global-sub:after {
            display: none !important; }
        nav .util > li:hover .global-sub:before, nav .util > li:hover .global-sub:after, nav .util > li:focus .global-sub:before, nav .util > li:focus .global-sub:after, nav .util > li.active .global-sub:before, nav .util > li.active .global-sub:after {
          display: none !important; }
        nav .util > li:hover > span,
        nav .util > li:hover > a, nav .util > li:focus > span,
        nav .util > li:focus > a, nav .util > li.active > span,
        nav .util > li.active > a {
          color: #0B8651; }
          nav .util > li:hover > span:after,
          nav .util > li:hover > a:after, nav .util > li:focus > span:after,
          nav .util > li:focus > a:after, nav .util > li.active > span:after,
          nav .util > li.active > a:after {
            display: block !important; }
        nav .util > li:hover .global-sub, nav .util > li:focus .global-sub, nav .util > li.active .global-sub {
          display: block; }
      nav .util > li.exc > span:after,
      nav .util > li.exc > a:after {
        display: none !important; }
  /* nasty specific hack */
  .home nav .util > li:hover > span:after,
  .home nav .util > li:hover > a:after, .home nav .util > li:focus > span:after,
  .home nav .util > li:focus > a:after, .home nav .util > li.active > span:after,
  .home nav .util > li.active > a:after,
  .home nav .global > li:hover > span:after,
  .home nav .global > li:hover > a:after,
  .home nav .global > li:focus > span:after,
  .home nav .global > li:focus > a:after,
  .home nav .global > li.active > span:after,
  .home nav .global > li.active > a:after {
    bottom: -5px; } }

@media screen and (min-width: 90em) {
  nav .global > li > span,
  nav .global > li > a,
  nav .util > li > span,
  nav .util > li > a {
    margin-right: 30px;
    font-size: 0.84375em;
    min-height: 62px; }
  nav .global > li .global-sub,
  nav .util > li .global-sub {
    padding-top: 60px; }
    nav .global > li .global-sub .global-sub-intro,
    nav .util > li .global-sub .global-sub-intro {
      max-width: 430px;
      -ms-flex: 1 0 430px;
          flex: 1 0 430px; }
      nav .global > li .global-sub .global-sub-intro p,
      nav .util > li .global-sub .global-sub-intro p {
        margin-top: -2px;
        font-size: 1em; }
      nav .global > li .global-sub .global-sub-intro .image-link,
      nav .util > li .global-sub .global-sub-intro .image-link {
        margin-top: 80px; }
    nav .global > li .global-sub .sub-title,
    nav .util > li .global-sub .sub-title {
      min-height: 20px; }
  nav .global > li.investors > span,
  nav .global > li.investors > a {
    margin-left: 14px; }
    nav .global > li.investors > span:before,
    nav .global > li.investors > a:before {
      top: 0;
      height: 24px; } }

@media screen and (min-width: 118.75em) {
  nav .global > li > span,
  nav .global > li > a,
  nav .util > li > span,
  nav .util > li > a {
    margin-right: 36px;
    color: #2c2f2f;
    font-size: 0.9375em; }
  nav .global > li.investors .global-sub-intro {
    margin-left: 0; }
  nav .global > li.investors > span,
  nav .global > li.investors > a {
    margin-left: 24px; }
    nav .global > li.investors > span:before,
    nav .global > li.investors > a:before {
      left: -28px;
      height: 26px; }
  nav .global > li.investors .global-sub-intro {
    margin-top: -2px;
    min-width: 492px;
    -ms-flex: 1 0 492px;
        flex: 1 0 492px; }
  nav .util > li span,
  nav .util > li a {
    font-size: 0.78125em; } }

nav .global-sub .columns {
  background-color: transparent;
  transition: background-color .4s ease-in-out; }

nav .global-sub .global-sub-intro {
  display: none; }
  nav .global-sub .global-sub-intro p {
    color: #616363; }
    nav .global-sub .global-sub-intro p strong {
      font-weight: bold;
      color: #2c2f2f; }

nav .global-sub .sub-title {
  cursor: pointer;
  font-size: 0.84375em;
  line-height: 1.1;
  font-family: "Stolzl W00 Medium";
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #2c2f2f;
  padding-bottom: 10px;
  padding-right: 40px;
  margin: 10px 10px 0;
  transition: border .4s;
  white-space: nowrap; }
  nav .global-sub .sub-title + .global-sub-nav {
    display: block;
    max-height: 0;
    transition: max-height .4s ease-in-out;
    overflow: hidden; }
    nav .global-sub .sub-title + .global-sub-nav > li:first-child {
      margin-top: 20px; }

nav .global-sub .is-active {
  background-color: #fff; }
  nav .global-sub .is-active .sub-title {
    border-bottom: 1px solid #2c2f2f; }
    nav .global-sub .is-active .sub-title + .global-sub-nav {
      display: block;
      max-height: 1000px; }

nav .global-sub .global-sub-nav {
  padding: 0 10px; }
  nav .global-sub .global-sub-nav:before {
    content: "";
    display: table;
    clear: both; }
  nav .global-sub .global-sub-nav:after {
    content: "";
    display: table;
    clear: both; }
  nav .global-sub .global-sub-nav li {
    font-family: 'Heuristica';
    padding-bottom: 20px;
    text-transform: none; }
    nav .global-sub .global-sub-nav li > a,
    nav .global-sub .global-sub-nav li > span {
      color: #2c2f2f; }
      nav .global-sub .global-sub-nav li > a:hover, nav .global-sub .global-sub-nav li > a:focus,
      nav .global-sub .global-sub-nav li > span:hover,
      nav .global-sub .global-sub-nav li > span:focus {
        color: #616363;
        text-decoration: underline; }

@media screen and (min-width: 48em) {
  nav .global-sub .global-sub-nav li {
    font-size: 1em;
    line-height: 1.1875em; } }

@media screen and (min-width: 80em) {
  nav .global-sub {
    padding-top: 65px;
    min-height: 490px;
    position: relative; }
    nav .global-sub:before {
      content: "";
      display: table;
      clear: both; }
    nav .global-sub:after {
      content: "";
      display: table;
      clear: both; }
    nav .global-sub:before {
      position: absolute;
      width: 9999px;
      top: 0;
      bottom: 0;
      left: -9999px;
      background: #fff;
      display: block; }
    nav .global-sub .global-sub-intro {
      display: block; }
    nav .global-sub .global-sub-nav {
      padding: 0 0 50px;
      max-height: none; }
      nav .global-sub .global-sub-nav > li {
        padding-bottom: 14px;
        font-size: 1em; }
    nav .global-sub .sub-title {
      max-height: none;
      margin-left: 0;
      margin-right: 0;
      padding-bottom: 8px;
      font-size: 0.84375em;
      border-bottom: 1px solid #616363; }
      nav .global-sub .sub-title + .global-sub-nav {
        max-height: none; } }

@media screen and (max-width: 79.9375em) {
  nav .global-sub .row .columns {
    padding-left: 20px;
    padding-right: 20px; }
  nav .investors .row .columns {
    padding: 0; }
  nav .investors .row .row {
    margin: 0; }
    nav .investors .row .row .columns {
      padding-left: 20px;
      padding-right: 20px; }
  nav .global-sub .sub-title {
    position: relative; }
    nav .global-sub .sub-title:after {
      content: '\e804';
      font-family: 'WesfarmersIcons';
      font-size: 0.875em;
      color: #0B8651;
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      right: 0;
      width: 30px;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      transition: all 150ms ease-in-out;
      -ms-transform-origin: 50% 50% 0;
          transform-origin: 50% 50% 0;
      margin-top: -5px; }
  nav .global-sub .is-active .sub-title {
    color: #2c2f2f; }
    nav .global-sub .is-active .sub-title:after {
      color: #2c2f2f;
      -ms-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg); }
  nav .global-sub .global-sub-nav .global-sub-nav {
    max-height: 0;
    transition: max-height .4s ease-in-out;
    overflow: hidden; }
    nav .global-sub .global-sub-nav .global-sub-nav > li:first-child {
      margin-top: 20px; }
  nav .global-sub .sub-nav > a {
    position: relative;
    display: block; }
    nav .global-sub .sub-nav > a:after {
      content: '\e804';
      font-family: 'WesfarmersIcons';
      font-size: 0.875em;
      color: #2c2f2f;
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      right: 0;
      width: 30px;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      transition: all 150ms ease-in-out;
      -ms-transform-origin: 50% 50% 0;
          transform-origin: 50% 50% 0; }
  nav .global-sub .sub-nav:hover > a, nav .global-sub .sub-nav:focus > a {
    text-decoration: none; }
  nav .global-sub .sub-nav.is-active > a:after {
    color: #2c2f2f;
    -ms-transform: translateY(-50%) rotate(180deg);
        transform: translateY(-50%) rotate(180deg); }
  nav .global-sub .sub-nav.is-active .global-sub-nav {
    max-height: 500px; } }

.inv-centre {
  display: block;
  margin: 0 10px 20px;
  transition: all 200ms ease-in-out; }
  .inv-centre:hover, .inv-centre:focus, .inv-centre.active {
    color: #616363;
    text-decoration: underline; }
  @media screen and (min-width: 80em) {
    .inv-centre {
      transition-duration: 0;
      transition: none;
      margin: 0 0 20px; } }

.mbl-back {
  font-family: "Stolzl W00 Medium";
  letter-spacing: 0.0375em;
  font-size: 0.8125em;
  text-transform: uppercase;
  color: #626464;
  display: block;
  padding: 30px 10px;
  position: relative;
  cursor: pointer;
  color: #000; }
  .mbl-back:before {
    content: "";
    display: table;
    clear: both; }
  .mbl-back:after {
    content: "";
    display: table;
    clear: both; }
  .mbl-back:before {
    display: block;
    content: "";
    font-family: 'WesfarmersIcons';
    font-size: 16px;
    color: #2c2f2f;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    left: -5px;
    width: 9px;
    height: 14px;
    line-height: 1; }
  @media screen and (min-width: 80em) {
    .mbl-back {
      display: none; } }

@media screen and (min-width: 0\0) and (min-width: 118.75em) {
  nav .global .investors .global-sub-intro {
    margin-left: 0;
    margin-right: -5px; } }

@media screen and (max-width: 79.9375em) {
  .nav-wrapper {
    min-height: 1000px; }
  nav .menu-title {
    border-bottom: none; }
  nav .global > li,
  nav .util > li {
    padding: 0;
    color: #2c2f2f;
    border-top: 1px solid #cacbcb;
    margin: 0 -5px; }
    nav .global > li > span,
    nav .global > li > a,
    nav .util > li > span,
    nav .util > li > a {
      color: #2c2f2f;
      padding: 8px 5px;
      font-family: "Stolzl W00 Medium";
      font-size: 0.8125em;
      letter-spacing: 0.01875em;
      text-transform: uppercase; }
      nav .global > li > span:hover, nav .global > li > span:focus, nav .global > li > span.active,
      nav .global > li > a:hover,
      nav .global > li > a:focus,
      nav .global > li > a.active,
      nav .util > li > span:hover,
      nav .util > li > span:focus,
      nav .util > li > span.active,
      nav .util > li > a:hover,
      nav .util > li > a:focus,
      nav .util > li > a.active {
        background-color: #00e862;
        text-decoration: none;
        color: #000; }
    nav .global > li .global-sub .sub-title,
    nav .util > li .global-sub .sub-title {
      margin: 0 10px;
      padding: 15px 26px 15px 5px;
      border-top: 1px solid #616363; }
      nav .global > li .global-sub .sub-title:after,
      nav .util > li .global-sub .sub-title:after {
        min-height: 100%;
        -ms-transform: translateY(0);
            transform: translateY(0);
        -ms-transform-origin: 15px 7.5px;
            transform-origin: 15px 7.5px;
        color: #616363; }
    nav .global > li .global-sub .is-active .sub-title,
    nav .util > li .global-sub .is-active .sub-title {
      border-top-color: #fff; }
      nav .global > li .global-sub .is-active .sub-title:after,
      nav .util > li .global-sub .is-active .sub-title:after {
        min-height: 100%;
        -ms-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
        color: #616363; }
    nav .global > li .global-sub .is-active + .columns .sub-title,
    nav .util > li .global-sub .is-active + .columns .sub-title {
      border-top-color: #fff; }
    nav .global > li .global-sub .menu-title,
    nav .util > li .global-sub .menu-title {
      color: #2c2f2f; }
    nav .global > li .global-sub .global-sub-nav .sub-nav.is-active:hover > a, nav .global > li .global-sub .global-sub-nav .sub-nav.is-active:focus > a, nav .global > li .global-sub .global-sub-nav .sub-nav.is-active.active > a,
    nav .util > li .global-sub .global-sub-nav .sub-nav.is-active:hover > a,
    nav .util > li .global-sub .global-sub-nav .sub-nav.is-active:focus > a,
    nav .util > li .global-sub .global-sub-nav .sub-nav.is-active.active > a {
      background-color: transparent; }
    nav .global > li .global-sub .global-sub-nav,
    nav .global > li .global-sub.is-active .global-sub-nav,
    nav .util > li .global-sub .global-sub-nav,
    nav .util > li .global-sub.is-active .global-sub-nav {
      padding: 0;
      margin: 0 5px; }
      nav .global > li .global-sub .global-sub-nav > li,
      nav .global > li .global-sub.is-active .global-sub-nav > li,
      nav .util > li .global-sub .global-sub-nav > li,
      nav .util > li .global-sub.is-active .global-sub-nav > li {
        padding: 0;
        border-bottom: 1px solid #cacbcb; }
        nav .global > li .global-sub .global-sub-nav > li > a,
        nav .global > li .global-sub .global-sub-nav > li > span,
        nav .global > li .global-sub.is-active .global-sub-nav > li > a,
        nav .global > li .global-sub.is-active .global-sub-nav > li > span,
        nav .util > li .global-sub .global-sub-nav > li > a,
        nav .util > li .global-sub .global-sub-nav > li > span,
        nav .util > li .global-sub.is-active .global-sub-nav > li > a,
        nav .util > li .global-sub.is-active .global-sub-nav > li > span {
          display: block;
          padding: 10px 5px 10px 5px; }
          nav .global > li .global-sub .global-sub-nav > li > a:after,
          nav .global > li .global-sub .global-sub-nav > li > span:after,
          nav .global > li .global-sub.is-active .global-sub-nav > li > a:after,
          nav .global > li .global-sub.is-active .global-sub-nav > li > span:after,
          nav .util > li .global-sub .global-sub-nav > li > a:after,
          nav .util > li .global-sub .global-sub-nav > li > span:after,
          nav .util > li .global-sub.is-active .global-sub-nav > li > a:after,
          nav .util > li .global-sub.is-active .global-sub-nav > li > span:after {
            font-size: 14px; }
        nav .global > li .global-sub .global-sub-nav > li:first-child,
        nav .global > li .global-sub.is-active .global-sub-nav > li:first-child,
        nav .util > li .global-sub .global-sub-nav > li:first-child,
        nav .util > li .global-sub.is-active .global-sub-nav > li:first-child {
          margin-top: 0;
          border-top: 1px solid #616363; }
        nav .global > li .global-sub .global-sub-nav > li:last-child,
        nav .global > li .global-sub.is-active .global-sub-nav > li:last-child,
        nav .util > li .global-sub .global-sub-nav > li:last-child,
        nav .util > li .global-sub.is-active .global-sub-nav > li:last-child {
          margin-bottom: 20px; }
        nav .global > li .global-sub .global-sub-nav > li:hover, nav .global > li .global-sub .global-sub-nav > li:focus, nav .global > li .global-sub .global-sub-nav > li.active,
        nav .global > li .global-sub.is-active .global-sub-nav > li:hover,
        nav .global > li .global-sub.is-active .global-sub-nav > li:focus,
        nav .global > li .global-sub.is-active .global-sub-nav > li.active,
        nav .util > li .global-sub .global-sub-nav > li:hover,
        nav .util > li .global-sub .global-sub-nav > li:focus,
        nav .util > li .global-sub .global-sub-nav > li.active,
        nav .util > li .global-sub.is-active .global-sub-nav > li:hover,
        nav .util > li .global-sub.is-active .global-sub-nav > li:focus,
        nav .util > li .global-sub.is-active .global-sub-nav > li.active {
          text-decoration: none;
          color: #000; }
          nav .global > li .global-sub .global-sub-nav > li:hover > a,
          nav .global > li .global-sub .global-sub-nav > li:hover > span, nav .global > li .global-sub .global-sub-nav > li:focus > a,
          nav .global > li .global-sub .global-sub-nav > li:focus > span, nav .global > li .global-sub .global-sub-nav > li.active > a,
          nav .global > li .global-sub .global-sub-nav > li.active > span,
          nav .global > li .global-sub.is-active .global-sub-nav > li:hover > a,
          nav .global > li .global-sub.is-active .global-sub-nav > li:hover > span,
          nav .global > li .global-sub.is-active .global-sub-nav > li:focus > a,
          nav .global > li .global-sub.is-active .global-sub-nav > li:focus > span,
          nav .global > li .global-sub.is-active .global-sub-nav > li.active > a,
          nav .global > li .global-sub.is-active .global-sub-nav > li.active > span,
          nav .util > li .global-sub .global-sub-nav > li:hover > a,
          nav .util > li .global-sub .global-sub-nav > li:hover > span,
          nav .util > li .global-sub .global-sub-nav > li:focus > a,
          nav .util > li .global-sub .global-sub-nav > li:focus > span,
          nav .util > li .global-sub .global-sub-nav > li.active > a,
          nav .util > li .global-sub .global-sub-nav > li.active > span,
          nav .util > li .global-sub.is-active .global-sub-nav > li:hover > a,
          nav .util > li .global-sub.is-active .global-sub-nav > li:hover > span,
          nav .util > li .global-sub.is-active .global-sub-nav > li:focus > a,
          nav .util > li .global-sub.is-active .global-sub-nav > li:focus > span,
          nav .util > li .global-sub.is-active .global-sub-nav > li.active > a,
          nav .util > li .global-sub.is-active .global-sub-nav > li.active > span {
            background-color: #00e862;
            text-decoration: none;
            color: #000; }
            nav .global > li .global-sub .global-sub-nav > li:hover > a:hover, nav .global > li .global-sub .global-sub-nav > li:hover > a:focus,
            nav .global > li .global-sub .global-sub-nav > li:hover > span:hover,
            nav .global > li .global-sub .global-sub-nav > li:hover > span:focus, nav .global > li .global-sub .global-sub-nav > li:focus > a:hover, nav .global > li .global-sub .global-sub-nav > li:focus > a:focus,
            nav .global > li .global-sub .global-sub-nav > li:focus > span:hover,
            nav .global > li .global-sub .global-sub-nav > li:focus > span:focus, nav .global > li .global-sub .global-sub-nav > li.active > a:hover, nav .global > li .global-sub .global-sub-nav > li.active > a:focus,
            nav .global > li .global-sub .global-sub-nav > li.active > span:hover,
            nav .global > li .global-sub .global-sub-nav > li.active > span:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > a:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > a:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > span:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > span:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > a:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > a:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > span:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > span:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > a:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > a:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > span:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > span:focus,
            nav .util > li .global-sub .global-sub-nav > li:hover > a:hover,
            nav .util > li .global-sub .global-sub-nav > li:hover > a:focus,
            nav .util > li .global-sub .global-sub-nav > li:hover > span:hover,
            nav .util > li .global-sub .global-sub-nav > li:hover > span:focus,
            nav .util > li .global-sub .global-sub-nav > li:focus > a:hover,
            nav .util > li .global-sub .global-sub-nav > li:focus > a:focus,
            nav .util > li .global-sub .global-sub-nav > li:focus > span:hover,
            nav .util > li .global-sub .global-sub-nav > li:focus > span:focus,
            nav .util > li .global-sub .global-sub-nav > li.active > a:hover,
            nav .util > li .global-sub .global-sub-nav > li.active > a:focus,
            nav .util > li .global-sub .global-sub-nav > li.active > span:hover,
            nav .util > li .global-sub .global-sub-nav > li.active > span:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > a:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > a:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > span:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > span:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > a:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > a:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > span:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > span:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > a:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > a:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > span:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > span:focus {
              text-decoration: none; }
        nav .global > li .global-sub .global-sub-nav > li .global-sub-nav > li,
        nav .global > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li,
        nav .util > li .global-sub .global-sub-nav > li .global-sub-nav > li,
        nav .util > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li {
          font-size: 0.9375em; }
          nav .global > li .global-sub .global-sub-nav > li .global-sub-nav > li:last-child,
          nav .global > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li:last-child,
          nav .util > li .global-sub .global-sub-nav > li .global-sub-nav > li:last-child,
          nav .util > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li:last-child {
            border-bottom: none; }
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > span, nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > span, nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav).active > a,
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav).active > span,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > span,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > span,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > a,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > span,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > span,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > span,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav).active > a,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav).active > span,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > span,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > span,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > a,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > span {
        background-color: #00e862; }
  nav .global > li:first-child {
    border-top: 1px solid #616363; }
  nav .global > li.investors .global-sub .global-sub-nav {
    margin: 0 10px; }
    nav .global > li.investors .global-sub .global-sub-nav > li:first-child {
      border-top: none; }
  nav .global > li.investors .global-sub .inv-centre {
    border-top: 1px solid #616363;
    position: relative;
    margin-bottom: 0;
    color: #2c2f2f;
    font-family: "Stolzl W00 Medium";
    letter-spacing: 0.01875em;
    text-transform: uppercase;
    font-size: 0.875em;
    padding: 15px 0 15px 30px;
    height: auto;
    min-height: none;
    margin: 0 10px; }
    nav .global > li.investors .global-sub .inv-centre:before {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 22px;
      color: #00e862;
      display: block;
      position: absolute;
      left: 0px;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    nav .global > li.investors .global-sub .inv-centre:hover,
    nav .global > li.investors .global-sub .inv-centre:focus nav .global > li.investors .global-sub .inv-centre.active {
      text-decoration: none;
      color: #00b54c; }
  nav .util > li:last-child {
    border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 80em) {
  header {
    position: fixed;
    z-index: 99999;
    width: 100%; }
  header,
  header .container,
  .logo {
    backface-visibility: hidden;
    transition: all .5s ease-in-out; }
  header .container .global > li:hover .global-sub,
  header .container .global > li:hover > span:after,
  header .container .util > li:hover .global-sub,
  header .container .util > li:hover > span:after {
    transition: transform .5s ease-in-out; }
  #main {
    margin-top: 126px;
    backface-visibility: hidden;
    transition: margin-top .5s ease-in-out; }
  .sticky-header #main {
    margin-top: 60px !important; }
  .sticky-header header {
    -ms-transform: translateY(-60px);
        transform: translateY(-60px); }
    .sticky-header header .container {
      -ms-transform: translateY(11px);
          transform: translateY(11px); }
      .sticky-header header .container .logo {
        -ms-transform: translateY(22px) scale(0.6);
            transform: translateY(22px) scale(0.6); }
      .sticky-header header .container .global-sub {
        -ms-transform: translateY(-11px) !important;
            transform: translateY(-11px) !important; }
      .sticky-header header .container .global > li > a:after,
      .sticky-header header .container .global > li > span:after,
      .sticky-header header .container .util > li > a:after,
      .sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-11px) !important;
            transform: translateY(-11px) !important; }
  #home #main {
    margin-top: 160px; }
  #home.sticky-header #main {
    margin-top: 60px !important; }
  #home.sticky-header header {
    -ms-transform: translateY(-94px);
        transform: translateY(-94px);
    border-bottom: 1px solid #2c2f2f; }
    #home.sticky-header header .container {
      -ms-transform: translateY(14px);
          transform: translateY(14px); }
      #home.sticky-header header .container .logo {
        -ms-transform: translateY(15px) scale(0.75);
            transform: translateY(15px) scale(0.75); }
      #home.sticky-header header .container .global-sub {
        -ms-transform: translateY(-15px) !important;
            transform: translateY(-15px) !important; }
      #home.sticky-header header .container .global > li > a:after,
      #home.sticky-header header .container .global > li > span:after,
      #home.sticky-header header .container .util > li > a:after,
      #home.sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-12px) !important;
            transform: translateY(-12px) !important; } }

@media screen and (min-width: 90em) {
  #main {
    margin-top: 150px; }
  .sticky-header header {
    -ms-transform: translateY(-80px);
        transform: translateY(-80px); }
    .sticky-header header .container {
      -ms-transform: translateY(15px);
          transform: translateY(15px); }
      .sticky-header header .container .global-sub {
        -ms-transform: translateY(-15px) !important;
            transform: translateY(-15px) !important; }
      .sticky-header header .container .global > li > a:after,
      .sticky-header header .container .global > li > span:after,
      .sticky-header header .container .util > li > a:after,
      .sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-15px) !important;
            transform: translateY(-15px) !important; }
  #home #main {
    margin-top: 182px; }
  #home.sticky-header header {
    -ms-transform: translateY(-97px);
        transform: translateY(-97px); }
    #home.sticky-header header .container {
      -ms-transform: translateY(0);
          transform: translateY(0); }
      #home.sticky-header header .container .logo {
        -ms-transform: translateY(25px) scale(0.55);
            transform: translateY(25px) scale(0.55); }
      #home.sticky-header header .container .global-sub {
        -ms-transform: translateY(-23px) !important;
            transform: translateY(-23px) !important; }
      #home.sticky-header header .container .global > li > a:after,
      #home.sticky-header header .container .global > li > span:after,
      #home.sticky-header header .container .util > li > a:after,
      #home.sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-20px) !important;
            transform: translateY(-20px) !important; } }

.resize header,
.resize header .container,
.resize header .container .global-sub,
.resize .logo,
.resize #main,
.resize .nav-wrapper {
  transition: none; }

.content-nav {
  position: relative; }
  .content-nav .mbl-back {
    margin-left: 4px;
    display: block;
    position: absolute;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #616363;
    transition: color .2s;
    z-index: 999;
    outline: none; }
    .content-nav .mbl-back:hover, .content-nav .mbl-back:focus {
      color: #2c2f2f; }
    @media screen and (min-width: 30em) {
      .content-nav .mbl-back {
        margin-left: 20px; } }
    @media screen and (min-width: 48em) {
      .content-nav .mbl-back {
        margin-left: 4px; } }
    @media screen and (min-width: 64em) {
      .content-nav .mbl-back {
        margin-left: 104px; } }
    @media screen and (min-width: 80em) {
      .content-nav .mbl-back {
        display: none; } }
  .content-nav .mbl-content-nav {
    cursor: pointer;
    display: block;
    text-transform: uppercase;
    text-align: right;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    letter-spacing: 0.0375em;
    color: #616363;
    margin: 20px 0 0;
    padding: 0 30px 20px 20px;
    position: relative; }
    .content-nav .mbl-content-nav:before {
      content: "";
      display: table;
      clear: both; }
    .content-nav .mbl-content-nav:after {
      content: "";
      display: table;
      clear: both; }
    .content-nav .mbl-content-nav:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 14px;
      color: #616363;
      display: block;
      text-align: center;
      position: absolute;
      top: 0;
      right: 0;
      height: 20px;
      width: 30px;
      transition: all 150ms ease-in-out;
      -ms-transform-origin: 50% 37% 0;
      transform-origin: 50% 37% 0; }
    @media screen and (min-width: 64em) {
      .content-nav .mbl-content-nav {
        margin-right: 100px; } }
    @media screen and (min-width: 80em) {
      .content-nav .mbl-content-nav {
        display: none; } }
    .content-nav .mbl-content-nav.is-active {
      color: #2c2f2f; }
      .content-nav .mbl-content-nav.is-active:after {
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
      .content-nav .mbl-content-nav.is-active + ul {
        max-height: 1000px; }
    .content-nav .mbl-content-nav.is-active + ul > li:last-child {
      padding-bottom: 20px;
      border-bottom: solid 1px #cacbcb; }
  .content-nav ul {
    max-height: 0;
    padding: 0;
    overflow: hidden; }
    .content-nav ul:before {
      content: "";
      display: table;
      clear: both; }
    .content-nav ul:after {
      content: "";
      display: table;
      clear: both; }
    .content-nav ul li {
      font-size: 0.90625em;
      line-height: 1.17647em;
      color: #616363;
      margin-bottom: 8px; }
      .content-nav ul li:first-child {
        margin-top: 10px; }
      @media screen and (min-width: 48em) {
        .content-nav ul li {
          font-size: 0.96875em;
          line-height: 1.33333em; } }
      .content-nav ul li a {
        color: #616363; }
        @media screen and (min-width: 80em) {
          .content-nav ul li a:hover, .content-nav ul li a:focus {
            color: #2c2f2f;
            text-decoration: underline; } }
        .content-nav ul li a.active {
          color: #2c2f2f;
          text-decoration: underline; }
      .content-nav ul li:before {
        content: "";
        display: table;
        clear: both; }
      .content-nav ul li:after {
        content: "";
        display: table;
        clear: both; }
      .content-nav ul li.title {
        border-bottom: solid 1px #cacbcb;
        padding-bottom: 5px;
        margin-bottom: 20px; }
        .content-nav ul li.title > a {
          font-family: "Stolzl W00 Medium";
          font-size: 0.8125em;
          line-height: 2.30769em;
          letter-spacing: 0.0375em;
          padding-bottom: 5px;
          margin-bottom: 20px;
          text-transform: uppercase; }
          .content-nav ul li.title > a:hover, .content-nav ul li.title > a:focus {
            text-decoration: none;
            color: #2c2f2f; }
        @media screen and (min-width: 80em) {
          .content-nav ul li.title {
            padding-bottom: 40px; }
            .content-nav ul li.title > a {
              font-size: 0.75em;
              line-height: 1.25em;
              font-family: "Stolzl W00 Book"; } }
    @media screen and (min-width: 30em) {
      .content-nav ul {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (min-width: 48em) {
      .content-nav ul {
        padding-left: 0;
        padding-right: 0; } }
    @media screen and (min-width: 64em) {
      .content-nav ul {
        padding-left: 100px;
        padding-right: 100px; } }
    @media screen and (min-width: 80em) {
      .content-nav ul {
        padding: 0;
        display: block !important;
        max-width: 220px;
        padding-left: 20px; } }
    @media screen and (min-width: 90em) {
      .content-nav ul {
        max-width: 276px;
        padding-left: 40px; } }

.content-nav.mobile-nav {
  display: block; }

.content-nav.desktop-nav {
  display: none; }

@media screen and (min-width: 80em) {
  .content-nav.mobile-nav {
    display: none; }
  .content-nav.desktop-nav {
    display: block; } }

@media screen and (min-width: 80em) {
  .content-nav.desktop-nav {
    margin-bottom: 30px;
    margin-left: -10px; }
    .content-nav.desktop-nav > ul {
      max-height: none;
      padding: 26px 26px 26px 0; }
      .content-nav.desktop-nav > ul > li.dropdown {
        border-bottom: 1px solid #cacbcb; }
        .content-nav.desktop-nav > ul > li.dropdown > .title {
          cursor: pointer;
          display: block;
          position: relative;
          padding-right: 30px;
          font-family: "Stolzl W00 Medium";
          font-size: 0.8125em;
          line-height: 1.1;
          letter-spacing: 0.0375em;
          text-transform: uppercase;
          color: #616363;
          font-weight: normal; }
          .content-nav.desktop-nav > ul > li.dropdown > .title:after {
            content: '\e804';
            font-family: 'WesfarmersIcons';
            font-size: 0.875em;
            color: #616363;
            display: block;
            text-align: center;
            position: absolute;
            top: 50%;
            right: 0;
            width: 30px;
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
            transition: all 150ms ease-in-out;
            -ms-transform-origin: 50% 50% 0;
                transform-origin: 50% 50% 0;
            line-height: 0; }
        .content-nav.desktop-nav > ul > li.dropdown > ul {
          overflow: hidden;
          max-height: 0;
          padding-left: 0;
          padding-right: 0;
          transition: max-height .6s ease-in-out; }
          .content-nav.desktop-nav > ul > li.dropdown > ul > li > a:hover, .content-nav.desktop-nav > ul > li.dropdown > ul > li a:focus {
            text-decoration: underline; }
          .content-nav.desktop-nav > ul > li.dropdown > ul > li:active a {
            text-decoration: underline; }
          .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul {
            overflow: hidden;
            max-height: 0;
            padding-left: 20px;
            padding-right: 0; }
            .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li {
              font-size: 0.96875em;
              margin-bottom: 12px; }
              .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li > a:hover, .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li a:focus {
                text-decoration: underline; }
              .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li:active a {
                text-decoration: underline; }
      .content-nav.desktop-nav > ul > li.dropdown.is-active {
        border-bottom-color: transparent; }
        .content-nav.desktop-nav > ul > li.dropdown.is-active > .title {
          color: #2c2f2f; }
          .content-nav.desktop-nav > ul > li.dropdown.is-active > .title:after {
            color: #2c2f2f;
            -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
        .content-nav.desktop-nav > ul > li.dropdown.is-active > ul {
          max-height: 1000px; }
          .content-nav.desktop-nav > ul > li.dropdown.is-active > ul > li.is-active > ul {
            max-height: 1000px; }
        .content-nav.desktop-nav > ul > li.dropdown.is-active > ul {
          border-bottom: 1px solid #cacbcb; } }

@media screen and (min-width: 90em) {
  .content-nav.desktop-nav > ul > li {
    font-size: 1.03125em; } }

@media screen and (min-width: 118.75em) {
  .content-nav.desktop-nav > ul > li {
    font-size: 1.0625em; } }

.hero .container {
  padding: 0; }
  .hero .container img {
    display: block;
    width: 100%; }
  @media screen and (min-width: 48em) {
    .hero .container {
      max-width: 100%;
      position: relative; } }
  .hero .container .hero-copy {
    background: #2c2f2f;
    padding: 20px 20px 40px 20px; }
    .hero .container .hero-copy:before {
      content: "";
      display: table;
      clear: both; }
    .hero .container .hero-copy:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 30em) {
      .hero .container .hero-copy {
        padding: 20px 30px 40px 30px; } }
    @media screen and (min-width: 56.3125em) {
      .hero .container .hero-copy {
        padding: 0;
        background: transparent;
        position: absolute;
        top: 0;
        left: 20px;
        bottom: 0;
        max-width: 290px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
        .hero .container .hero-copy > * {
          display: inline-block; } }
    @media screen and (min-width: 64em) {
      .hero .container .hero-copy {
        left: 40px; } }
    @media screen and (min-width: 80em) {
      .hero .container .hero-copy {
        max-width: 350px;
        padding: 0; } }
    @media screen and (min-width: 118.75em) {
      .hero .container .hero-copy {
        padding: 0;
        left: 80px; } }
    .hero .container .hero-copy h1 {
      color: #00e862;
      font-family: "Stolzl W00 Medium";
      text-transform: uppercase;
      font-size: 1.25em;
      line-height: 1.1; }
      @media screen and (min-width: 48em) {
        .hero .container .hero-copy h1 {
          float: left;
          max-width: 48%;
          font-size: 1.75em; } }
      @media screen and (min-width: 56.3125em) {
        .hero .container .hero-copy h1 {
          font-size: 1.125em;
          float: none;
          max-width: 80%; } }
      @media screen and (min-width: 80em) {
        .hero .container .hero-copy h1 {
          font-size: 1.75em;
          float: none;
          max-width: 100%; } }
    .hero .container .hero-copy p {
      color: #eaeaea;
      font-size: 1.0625em;
      line-height: 1.41176em; }
      .hero .container .hero-copy p strong {
        font-weight: bold; }
      @media screen and (min-width: 48em) {
        .hero .container .hero-copy p {
          float: right;
          max-width: 48%; } }
      @media screen and (min-width: 56.3125em) {
        .hero .container .hero-copy p {
          max-width: 75%;
          font-size: 1em; } }
      @media screen and (min-width: 64em) {
        .hero .container .hero-copy p {
          font-size: 1.0625em;
          line-height: 1.41176em;
          float: none;
          max-width: 80%; } }
      @media screen and (min-width: 80em) {
        .hero .container .hero-copy p {
          font-size: 1.25em;
          line-height: 1.5em;
          float: none;
          max-width: 100%; } }

input[type='text'], input[type='password'], input[type='date'], input[type='datetime'], input[type='datetime-local'], input[type='month'], input[type='week'], input[type='email'], input[type='number'], input[type='search'], input[type='tel'], input[type='time'], input[type='url'], input[type='color'], textarea {
  -webkit-appearance: none;
  border-radius: 0;
  outline: none;
  letter-spacing: 0;
  line-height: 1.3em; }

fieldset legend {
  position: absolute;
  left: -9999em;
  font-family: 'Stolzl W00 Bold', Arial, sans-serif;
  color: #2c2f2f;
  letter-spacing: 0.0625em; }

fieldset .form-row {
  padding: 0;
  margin: 0 0 20px 0; }
  fieldset .form-row:before {
    content: "";
    display: table;
    clear: both; }
  fieldset .form-row:after {
    content: "";
    display: table;
    clear: both; }

fieldset label {
  font-family: 'Stolzl W00 Bold', Arial, sans-serif;
  letter-spacing: 0.0625em; }

fieldset select {
  -webkit-appearance: none;
  border-radius: 0;
  border: solid 1px #969797;
  padding: 8px 30px 10px 10px;
  margin: 0;
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  font-weight: 500;
  font-size: 1em;
  -webkit-appearance: none;
  /*Removes default chrome and safari style*/
  -moz-appearance: none;
  /* Removes Default Firefox style*/
  background: #fff url(../img/icons/icon-dd-arrow.png) no-repeat;
  /*Adds background-image*/
  background-position: right 17px;
  /*Position of the background-image*/
  text-indent: 0.01px;
  /* Removes default arrow from firefox*/
  text-overflow: "";
  /*Removes default arrow from firefox*/
  height: 40px;
  min-width: 0; }
  fieldset select:focus {
    outline: none;
    border-bottom: solid 1px #fff; }

fieldset select::-ms-expand {
  /*ie11 get rid of default dd arrow*/
  display: none; }

fieldset input[type='text'], fieldset input[type='password'], fieldset input[type='date'], fieldset input[type='datetime'], fieldset input[type='datetime-local'], fieldset input[type='month'], fieldset input[type='week'], fieldset input[type='email'], fieldset input[type='number'], fieldset input[type='search'], fieldset input[type='tel'], fieldset input[type='time'], fieldset input[type='url'], fieldset input[type='color'], fieldset textarea {
  height: 40px;
  -webkit-appearance: none;
  border-radius: 0;
  margin: 0 0 20px 0;
  border: solid 1px #969797;
  background: #fff;
  box-shadow: none;
  margin: 0;
  padding: 10px;
  letter-spacing: 0.0625em; }
  fieldset input[type='text']:focus, fieldset input[type='password']:focus, fieldset input[type='date']:focus, fieldset input[type='datetime']:focus, fieldset input[type='datetime-local']:focus, fieldset input[type='month']:focus, fieldset input[type='week']:focus, fieldset input[type='email']:focus, fieldset input[type='number']:focus, fieldset input[type='search']:focus, fieldset input[type='tel']:focus, fieldset input[type='time']:focus, fieldset input[type='url']:focus, fieldset input[type='color']:focus, fieldset textarea:focus {
    background: #fff;
    box-shadow: none; }

fieldset > *:last-child {
  margin: 0; }

fieldset .search-input input[type='text'] {
  float: left;
  margin: 0 15px 0 0;
  width: calc(100% - 66px); }

fieldset .search-input .btn {
  float: left;
  background: #ec671c url("../img/icons/icon-search.png") no-repeat 15px 9px;
  display: block;
  width: 51px;
  height: 40px;
  text-indent: 9999em; }

fieldset .search-filters legend {
  position: relative;
  left: auto;
  color: #2c2f2f;
  font-size: 1.5em;
  font-weight: 700;
  margin: 0 0 10px 0; }

fieldset .search-filters select {
  margin: 0 0 10px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    fieldset .search-filters select {
      float: left;
      width: 200px;
      margin: 0 15px 0 0; } }

fieldset .search-filters .btn {
  float: left; }

.hor-filter {
  margin-bottom: 15px; }
  .hor-filter legend {
    position: relative;
    left: auto;
    color: #2c2f2f;
    font-size: 1.5em;
    font-weight: 700;
    margin: 0 0 10px 0; }
    @media screen and (min-width: 48em) {
      .hor-filter legend {
        display: block; } }
  .hor-filter .fields {
    overflow: hidden;
    /* Creates a new block format context, which will make this tag fill the remaining width */ }
    .hor-filter .fields:before {
      content: "";
      display: table;
      clear: both; }
    .hor-filter .fields:after {
      content: "";
      display: table;
      clear: both; }
  .hor-filter .field-group, .hor-filter .field-group-wide {
    margin: 0 0 10px 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .hor-filter .field-group, .hor-filter .field-group-wide {
        float: left;
        margin: 0;
        padding: 0 15px 0 0;
        width: 282px; } }
    .hor-filter .field-group select, .hor-filter .field-group-wide select {
      width: 100%; }
    .hor-filter .field-group label, .hor-filter .field-group-wide label {
      position: absolute;
      left: -9999em; }
    .hor-filter .field-group-wide, .hor-filter .field-group-wide-wide {
      width: 100%;
      margin: 0 0 10px 0; }
      @media screen and (min-width: 48em) {
        .hor-filter .field-group-wide, .hor-filter .field-group-wide-wide {
          float: left;
          margin: 0;
          padding: 0 15px 0 0;
          width: 846px; } }
  @media screen and (min-width: 48em) {
    .hor-filter input[type='submit'] {
      float: right; } }
  .hor-filter.hide-legend legend {
    position: absolute;
    left: -9999em; }

.simple-select label {
  display: block;
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  font-size: 1em;
  margin: 0 0 10px 0; }
  @media screen and (min-width: 48em) {
    .simple-select label {
      font-size: 1.1875em; } }

.simple-select select {
  margin: 0 0 10px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .simple-select select {
      width: 50%;
      margin: 0 10px 0 0; } }

.no-csscolumns select {
  background: none;
  padding-right: 10px; }

.content-page .wysiwyg {
  padding-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg {
      padding-bottom: 40px; } }
  .content-page .wysiwyg div.wysiwyg-inner > *:first-child,
  .content-page .wysiwyg > *:first-child {
    margin-top: 30px; }
  @media screen and (min-width: 30em) {
    .content-page .wysiwyg {
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg {
      padding-left: 0;
      padding-right: 0; }
      .content-page .wysiwyg div.wysiwyg-inner > *:first-child,
      .content-page .wysiwyg > *:first-child {
        margin-top: 0; } }
  @media screen and (min-width: 64em) {
    .content-page .wysiwyg {
      padding-left: 100px;
      padding-right: 100px; } }
  @media screen and (min-width: 80em) {
    .content-page .wysiwyg {
      padding-left: 0;
      padding-right: 0;
      margin-top: -6px; }
      .content-page .wysiwyg div.wysiwyg-inner > h2:first-child,
      .content-page .wysiwyg > h2:first-child {
        margin-top: -12px; } }
  @media screen and (min-width: 90em) {
    .content-page .wysiwyg {
      padding-left: 0;
      padding-right: 0; } }
  .content-page .wysiwyg strong, .content-page .wysiwyg b {
    font-weight: 700; }
  .content-page .wysiwyg hr {
    margin: 20px 0;
    padding: 0;
    border-bottom: 1px solid #cacbcb; }
  .content-page .wysiwyg h2 {
    margin-top: 30px; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg h2 {
        margin-top: 40px; } }
    @media screen and (min-width: 64em) {
      .content-page .wysiwyg h2 {
        margin-top: 50px; } }
  .content-page .wysiwyg h3 {
    margin-top: 20px; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg h3 {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .content-page .wysiwyg h3 {
        margin-top: 40px; } }
  .content-page .wysiwyg h4,
  .content-page .wysiwyg h5 {
    margin-top: 10px; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg h4,
      .content-page .wysiwyg h5 {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .content-page .wysiwyg h4,
      .content-page .wysiwyg h5 {
        margin-top: 30px; } }
  .content-page .wysiwyg a {
    text-decoration: underline; }
  .content-page .wysiwyg sup,
  .content-page .wysiwyg sub {
    font-size: 0.78947em;
    padding: 0 3px; }
  .content-page .wysiwyg ul {
    list-style: none;
    padding: 0;
    margin: 20px 0; }
    .content-page .wysiwyg ul li {
      padding: 0 0 10px 25px;
      position: relative; }
      .content-page .wysiwyg ul li:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "• ";
        color: #00e862; }
  .content-page .wysiwyg ol {
    padding: 0;
    margin: 20px 0 20px 20px; }
    .content-page .wysiwyg ol li {
      padding: 0 0 10px 5px; }
  .content-page .wysiwyg figure {
    margin: 20px 0 15px 0; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg figure {
        margin: 40px 0 15px 0; } }
    .content-page .wysiwyg figure img {
      width: 100%;
      display: block; }
    .content-page .wysiwyg figure figcaption {
      font-size: 0.9375em;
      color: #616363;
      padding: 15px 0 0 0;
      line-height: 1.2em; }
      @media screen and (min-width: 48em) {
        .content-page .wysiwyg figure figcaption {
          font-size: 1em;
          padding: 20px 0; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ul {
      -moz-column-count: 2;
      -moz-column-gap: 40px;
      -webkit-column-count: 2;
      -webkit-column-gap: 40px;
      column-count: 2;
      column-gap: 40px; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ul li {
      break-inside: avoid-column; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ol {
      -moz-column-count: 2;
      -moz-column-gap: 50px;
      -webkit-column-count: 2;
      -webkit-column-gap: 50px;
      column-count: 2;
      column-gap: 50px; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ol li {
      break-inside: avoid-column; } }
  @media screen and (min-width: 90em) {
    .content-page .wysiwyg.list-stacked ul, .content-page .wysiwyg.list-stacked ol {
      column-gap: 60px; } }
  .content-page .wysiwyg small {
    font-size: 1.125em; }
  .content-page .wysiwyg .lead {
    font-size: 1.125em;
    line-height: 1.4em; }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg .lead {
      font-size: 1.25em; } }
  @media screen and (min-width: 80em) {
    .content-page .wysiwyg .lead {
      font-size: 1.375em; } }
  @media screen and (min-width: 118.75em) {
    .content-page .wysiwyg {
      font-size: 1.125em; }
      .content-page .wysiwyg h2:first-of-type {
        margin-top: 6px; }
      .content-page .wysiwyg h3 {
        margin-top: 60px; }
      .content-page .wysiwyg ul, .content-page .wysiwyg ol {
        column-gap: 60px; }
      .content-page .wysiwyg blockquote {
        margin-top: 60px;
        margin-bottom: 60px;
        max-width: 75%; } }

/* Plugin styles */
.social-feed-element.hidden {
  background-color: red !important; }

.social-feed-element .pull-left {
  float: left;
  margin-right: 10px; }

.social-feed-element .pull-right {
  margin-left: 10px; }

.social-feed-element img {
  width: 100%;
  width: auto\9;
  height: auto;
  border: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic; }

.social-feed-element .attachment {
  vertical-align: middle;
  -ms-interpolation-mode: bicubic; }

/* Link styles */
.social-feed-element a {
  color: #0088cc;
  text-decoration: none; }

.social-feed-element a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

.social-feed-element a:hover,
.social-feed-element a:active {
  outline: 0;
  color: #005580;
  text-decoration: underline; }

/* Text styles */
.social-feed-element small {
  font-size: 85%; }

.social-feed-element strong {
  font-weight: bold; }

.social-feed-element em {
  font-style: italic; }

.social-feed-element p {
  margin: 0 0 10px; }

.social-feed-element .media-body > p {
  margin-bottom: 4px;
  min-height: 20px; }

.social-feed-element p.social-feed-text {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical; }

/* Message styles */
.social-feed-element,
.social-feed-element .media-body {
  overflow: hidden;
  zoom: 1;
  *overflow: visible; }

.social-feed-element .media-body .social-network-icon {
  margin-top: -3px;
  margin-right: 5px;
  width: 16px; }

.social-feed-element .media-body div {
  color: #666;
  line-height: 20px; }

.social-feed-element:first-child {
  margin-top: 0; }

.social-feed-element .media-object {
  display: block;
  width: 48px;
  border-radius: 50%; }

.social-feed-element .media-heading {
  margin: 0 0 5px; }

.social-feed-element .media-list {
  margin-left: 0;
  list-style: none; }

.social-feed-element .muted {
  color: #999; }

.social-feed-element a.muted:hover,
.social-feed-element a.muted:focus {
  color: #808080; }

.social-feed-element {
  box-shadow: 0 0 10px 0 rgba(10, 10, 10, 0.2);
  transition: 0.25s;
  -webkit-backface-visibility: hidden;
  margin: -1px;
  margin-top: 25px;
  background-color: #fff;
  color: #333;
  text-align: left;
  font-size: 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 16px; }

.social-feed-element:hover {
  box-shadow: 0 0 20px 0 rgba(10, 10, 10, 0.4); }

.social-feed-element .content {
  padding: 15px; }

.social-feed-element .social-network-icon {
  opacity: 0.7; }

.social-feed-element .author-title {
  color: #444;
  line-height: 1.5em;
  font-weight: 500; }

.twitter-feed {
  margin-bottom: 40px; }
  @media screen and (min-width: 30em) {
    .twitter-feed {
      padding: 0 10px; } }
  .twitter-feed h2 {
    position: relative;
    margin-bottom: 25px;
    font-family: "Stolzl W00 Medium";
    font-size: 1em;
    text-transform: uppercase;
    padding-left: 25px; }
    .twitter-feed h2:before {
      content: '@';
      font-family: "Stolzl W00 Book"; }
    .twitter-feed h2:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 17px;
      color: #2c2f2f;
      position: absolute;
      top: 2px;
      left: 0;
      display: block;
      width: 24px;
      height: 24px;
      background-color: transparent; }

.twitter-feed-element {
  cursor: pointer;
  border-top: solid 2px #00e862; }
  .twitter-feed-element .media-body {
    padding-top: 10px; }
  .twitter-feed-element .date-time {
    font-family: "Stolzl W00 Medium";
    font-size: 0.75em;
    text-transform: uppercase;
    color: #616363;
    padding: 0;
    margin: 0 0 20px 0; }
  .twitter-feed-element a {
    color: #2c2f2f;
    text-decoration: none; }
    .twitter-feed-element a:hover, .twitter-feed-element a:focus, .twitter-feed-element a:active, .twitter-feed-element a:visited {
      color: #000;
      text-decoration: none; }
  .twitter-feed-element:hover, .twitter-feed-element:focus, .twitter-feed-element:active, .twitter-feed-element:visited {
    color: #000;
    text-decoration: none; }

.wysiwyg .twitter-feed > a {
  text-decoration: none; }
  .wysiwyg .twitter-feed > a:hover, .wysiwyg .twitter-feed > a:focus, .wysiwyg .twitter-feed > a:active, .wysiwyg .twitter-feed > a:visited {
    text-decoration: none; }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .twitter-feeds .wysiwyg {
    margin-left: 0;
    margin-right: 0; } }

.related-content {
  max-width: 100% !important;
  width: 100%;
  padding-bottom: 50px; }
  @media (max-width: 79.9375em) {
    .related-content {
      position: relative !important; } }
  @media screen and (min-width: 64em) {
    .related-content {
      min-width: 100%;
      width: 100%;
      padding: 0 100px 50px; } }
  @media screen and (min-width: 80em) {
    .related-content {
      width: 15em;
      padding: 0;
      width: auto;
      min-width: 240px !important;
      right: 0 !important;
      left: auto !important; } }
  .related-content h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.75em;
    line-height: 1.25em;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #616363;
    padding: 20px 0;
    margin: 0;
    border-top: solid 1px #cacbcb;
    margin: 0; }
    @media screen and (min-width: 80em) {
      .related-content h2 {
        border: 0;
        padding: 0 0 40px 0;
        margin-top: 12px; } }
  .related-content ul {
    position: relative;
    padding: 0 0 30px 0;
    margin-bottom: 20px;
    overflow: hidden; }
    .related-content ul:before {
      content: "";
      display: table;
      clear: both; }
    .related-content ul:after {
      content: "";
      display: table;
      clear: both; }
    .related-content ul:after {
      background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBNjg3MDA4MDJCRjExRTZCNjI3QUNDOEVBNTJBM0U3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBNjg3MDA5MDJCRjExRTZCNjI3QUNDOEVBNTJBM0U3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEE2ODcwMDYwMkJGMTFFNkI2MjdBQ0M4RUE1MkEzRTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEE2ODcwMDcwMkJGMTFFNkI2MjdBQ0M4RUE1MkEzRTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Tz+7BAAAB80lEQVR42uzby00DQRBFUVMJEI/JAMIgSJwBsbCFCOhZsEEyHg/zuVV1W6rF7Fo66sV0v/dw+ng9NV7nMZcxj4C9fI15DjE4GGPeQwwOxvQRYnAwOoKgMbqB4DE6gaTA6AKSBqMDSCqM6iDpMCqDkDA+52JUBaFhvMzFqAiSGqMaSHqMSiAlMKqAlMGoAFIKIztIOYzMICUxsoKUxcgIUhojG0h5jEwgLTCygLTByADSCoMO0g6DDNISgwrSFoMI0hqDBtIegwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBAhEDBPIkBgdkwngTgwEiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBAhEDBiIGZ51DDA7GmEuIwcGYDkeIwcH4609djAMwjgQR40qOLcTgYBwBIsaNhGeIwcHYE0SMmdnnEIODsQeIGHe2AkIMDsaWIGIsrGiEGJthLLpFDzE4GGuDiLHCY1+IwcFYC0SMFZ/BQwwOxn9BxNggIBJicDCWgoixYXQqxOBg3Asixg6hwhCDgzEXRIwd47YhBgfjFogYBwTRQwwOxjUQMQ6saIQYHIzfIGIAykshBgfjB0QMUK0vxGB1LL8FGAAEdy1b++uZpQAAAABJRU5ErkJggg==");
      background-size: 6px auto;
      content: '';
      position: absolute;
      bottom: 0;
      left: -10%;
      z-index: 1;
      display: block;
      width: 120%;
      height: 18px;
      opacity: .75;
      -ms-transform: skewX(15deg);
          transform: skewX(15deg); }
    .related-content ul li {
      font-family: "Stolzl W00 Medium";
      font-size: 0.90625em;
      line-height: 1.14286em;
      letter-spacing: 0.01875em;
      text-transform: uppercase;
      border-top: solid 1px #cacbcb;
      padding: 5px 0 15px 0; }
      @media screen and (min-width: 48em) {
        .related-content ul li {
          float: none; } }
      @media screen and (min-width: 80em) {
        .related-content ul li {
          width: 33.33%;
          float: none;
          width: auto; } }
      .related-content ul li a {
        color: #616363;
        transition: all 150ms ease-in-out; }
        .related-content ul li a span {
          display: inline-block;
          margin-left: 6px;
          font-family: "Stolzl W00 Book";
          font-size: 0.8em;
          line-height: 1.33333em; }
        .related-content ul li a:hover, .related-content ul li a:focus {
          color: #2c2f2f;
          text-decoration: none; }
      @media screen and (min-width: 48em) {
        .related-content ul li:nth-child(3n+4) {
          clear: left; } }
      @media screen and (min-width: 80em) {
        .related-content ul li a span {
          margin-left: 0;
          display: block; } }

footer {
  background: #2c2f2f;
  padding: 40px 0; }
  footer:before {
    content: "";
    display: table;
    clear: both; }
  footer:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    footer {
      position: absolute;
      right: 0;
      left: 0;
      bottom: 0;
      display: block; } }
  @media screen and (min-width: 118.75em) {
    footer {
      margin: 0 auto;
      max-width: 2560px; } }
  footer .container {
    max-width: 945px; }
    @media screen and (min-width: 48em) {
      footer .container {
        padding: 0 34px; } }
    @media screen and (min-width: 80em) {
      footer .container {
        position: relative;
        min-height: 170px; } }
    @media screen and (min-width: 90em) {
      footer .container {
        max-width: none; } }
    footer .container .wysiwyg > div:first-child {
      margin-top: 0; }
  footer nav ul:before {
    content: "";
    display: table;
    clear: both; }
  footer nav ul:after {
    content: "";
    display: table;
    clear: both; }
  footer nav ul li {
    text-align: center;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      footer nav ul li {
        float: left;
        text-align: left; }
        footer nav ul li:before {
          content: "";
          display: table;
          clear: both; }
        footer nav ul li:after {
          content: "";
          display: table;
          clear: both; } }
  footer nav.ftr-global {
    padding-bottom: 30px; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-global {
        padding: 20px 0 30px 0; } }
    @media screen and (min-width: 80em) {
      footer nav.ftr-global {
        padding: 80px 0 50px 0; } }
    footer nav.ftr-global li {
      font-family: "Stolzl W00 Medium";
      letter-spacing: 0.0625em;
      font-size: 1em;
      color: #eaeaea;
      padding: 0 0 20px 0; }
      footer nav.ftr-global li:after {
        right: -42px; }
      footer nav.ftr-global li a {
        color: #eaeaea; }
        footer nav.ftr-global li a:hover, footer nav.ftr-global li a:focus {
          color: #14dc66;
          text-decoration: none; }
      @media screen and (min-width: 48em) {
        footer nav.ftr-global li:first-of-type {
          border: 0;
          padding-left: 0; } }
      footer nav.ftr-global li:last-of-type {
        padding-bottom: 0; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-global ul {
        text-align: justify;
        font-size: 0.1px;
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; }
        footer nav.ftr-global ul > li {
          font-size: 16px;
          float: none;
          width: auto;
          display: inline-block;
          padding: 0;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto;
          text-align: center;
          line-height: 16px;
          padding: 0 20px; }
          footer nav.ftr-global ul > li > a {
            font-size: 0.90625em; }
          footer nav.ftr-global ul > li + li {
            border-left: 1px solid #5f6161; }
        footer nav.ftr-global ul:after {
          content: none;
          width: 100%;
          display: inline-block; } }
    @media screen and (min-width: 80em) {
      footer nav.ftr-global ul > li {
        padding: 0;
        position: relative; }
        footer nav.ftr-global ul > li:after {
          display: block;
          position: absolute;
          top: 2px;
          right: -40px;
          content: none;
          width: 1px;
          height: 20px;
          background-color: #5f6161; }
        footer nav.ftr-global ul > li:last-child:after {
          display: none; } }
    @media screen and (min-width: 80em) {
      footer nav.ftr-global ul > li:after {
        right: -52px; } }
  @media screen and (min-width: 48em) {
    footer nav.ftr-util {
      float: left; } }
  @media screen and (min-width: 64em) {
    footer nav.ftr-util {
      margin-top: 2px; } }
  @media screen and (min-width: 80em) {
    footer nav.ftr-util {
      margin-top: 4px; } }
  footer nav.ftr-util li {
    font-family: "Stolzl W00 Book";
    font-size: 0.78125em;
    color: #969797;
    padding: 0 0 0.625em 0; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-util li {
        padding: 0 1.875em 0 0; } }
    footer nav.ftr-util li a {
      color: #969797; }
      footer nav.ftr-util li a:hover, footer nav.ftr-util li a:focus {
        color: #fff;
        text-decoration: none; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-util li:nth-child(1) {
        clear: left;
        margin-bottom: 10px; } }
    @media screen and (min-width: 64em) {
      footer nav.ftr-util li:nth-child(1) {
        clear: none;
        margin-bottom: 0; } }
    @media screen and (min-width: 48em) {
      footer nav.ftr-util li:nth-child(2) {
        clear: left; } }
    @media screen and (min-width: 64em) {
      footer nav.ftr-util li:nth-child(2) {
        clear: none; } }
  footer .ftr-util-wrapper:before {
    content: "";
    display: table;
    clear: both; }
  footer .ftr-util-wrapper:after {
    content: "";
    display: table;
    clear: both; }
  footer .ftr-util-wrapper .ftr-social {
    margin: 0 auto;
    margin-bottom: 30px;
    display: block;
    max-width: 80%;
    text-align: center; }
    footer .ftr-util-wrapper .ftr-social:before {
      content: "";
      display: table;
      clear: both; }
    footer .ftr-util-wrapper .ftr-social:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 48em) {
      footer .ftr-util-wrapper .ftr-social {
        float: right;
        margin-bottom: 0;
        margin-top: 24px; } }
    @media screen and (min-width: 64em) {
      footer .ftr-util-wrapper .ftr-social {
        margin-top: 0; } }
    footer .ftr-util-wrapper .ftr-social li {
      text-align: center;
      text-transform: uppercase;
      margin-left: 30px;
      display: inline-block; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-twtr, footer .ftr-util-wrapper .ftr-social li a.ftr-vim, footer .ftr-util-wrapper .ftr-social li a.ftr-li {
        position: relative;
        display: block;
        text-align: left;
        text-indent: -9999em;
        width: 24px;
        height: 24px;
        display: block; }
        footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:after, footer .ftr-util-wrapper .ftr-social li a.ftr-vim:after, footer .ftr-util-wrapper .ftr-social li a.ftr-li:after {
          text-indent: 0;
          content: "";
          font-family: 'WesfarmersIcons';
          font-size: 19px;
          color: #616363;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 24px;
          height: 24px;
          background-color: transparent;
          z-index: 9999;
          transition: color .3s; }
        footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:hover:after, footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:focus:after, footer .ftr-util-wrapper .ftr-social li a.ftr-vim:hover:after, footer .ftr-util-wrapper .ftr-social li a.ftr-vim:focus:after, footer .ftr-util-wrapper .ftr-social li a.ftr-li:hover:after, footer .ftr-util-wrapper .ftr-social li a.ftr-li:focus:after {
          color: #cacbcb; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:after {
        content: ""; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-vim:after {
        content: ""; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-li:after {
        content: "";
        top: -2px; }
      footer .ftr-util-wrapper .ftr-social li:first-of-type {
        margin-left: 0; }
      @media screen and (min-width: 48em) {
        footer .ftr-util-wrapper .ftr-social li {
          float: left;
          text-transform: uppercase;
          display: block; }
          footer .ftr-util-wrapper .ftr-social li:before {
            content: "";
            display: table;
            clear: both; }
          footer .ftr-util-wrapper .ftr-social li:after {
            content: "";
            display: table;
            clear: both; } }
  @media screen and (min-width: 48em) {
    footer .ftr-nav-wrapper {
      max-width: 945px;
      margin: 0 auto; } }
  footer .ftr-stock {
    position: relative;
    background: #3c3e3e;
    border-radius: 80%;
    width: 145px;
    height: 145px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center; }
    footer .ftr-stock > * {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      footer .ftr-stock {
        top: auto;
        left: auto;
        background: transparent;
        border-radius: 0;
        margin: 0;
        height: auto;
        width: auto;
        text-align: left;
        display: block; }
        footer .ftr-stock:before {
          content: "";
          display: table;
          clear: both; }
        footer .ftr-stock:after {
          content: "";
          display: table;
          clear: both; } }
    footer .ftr-stock .ftr-stock-price {
      font-family: "Stolzl W00 Bold";
      font-weight: 700;
      font-size: 1.875em;
      line-height: 1.33333em;
      color: #fff;
      margin: 0; }
    footer .ftr-stock .ftr-stock-index {
      font-family: "Stolzl W00 Book";
      font-size: 0.8125em;
      text-transform: uppercase;
      color: #cacbcb;
      margin: 0; }
      footer .ftr-stock .ftr-stock-index span {
        font-family: "Stolzl W00 Medium"; }
    @media screen and (min-width: 90em) {
      footer .ftr-stock {
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
        left: 60px;
        text-align: center;
        background: #3c3e3e;
        border-radius: 80%;
        width: 145px;
        height: 145px;
        text-align: center;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
        footer .ftr-stock > * {
          display: inline-block; } }

/*
.push {
    display: none;    
}

@include breakpoint(xlarge) {
    html, body {
        height: 100%;
    }
    #wrapper {
        min-height: 100%;
        margin-bottom: -215px;
    }
    .push {
        display: block;
        height: 215px;
    }
}
*/
#home #main section.spaced {
  transition: margin .4s ease-in-out;
  max-width: none; }

#home #main section.grey.panels {
  transition: padding .4s ease-in-out; }

@media screen and (min-width: 48em) {
  #home #main section.spaced {
    margin-top: 35px;
    margin-bottom: 35px; }
  #home #main section.grey.panels {
    padding-top: 50px;
    padding-bottom: 30px; } }

@media screen and (min-width: 118.75em) {
  #home #main {
    max-width: 2560px;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (min-width: 64em) {
  #home .twitter-feeds {
    width: 80%; }
    #home .twitter-feeds > .row {
      margin-top: 40px;
      margin-bottom: 40px; } }

@media screen and (min-width: 80em) {
  #home .twitter-feeds {
    width: 80%; } }

@media screen and (min-width: 90em) {
  #home .twitter-feeds {
    width: 75%; }
    #home .twitter-feeds > .row {
      margin-top: 60px;
      margin-bottom: 60px; } }

@media screen and (min-width: 118.75em) {
  #home .twitter-feeds {
    width: 50%; }
    #home .twitter-feeds > .row {
      margin-top: 80px;
      margin-bottom: 80px; } }

@media screen and (min-width: 80em) and (max-height: 64em) {
  #home:not(.sticky-header) .home {
    padding-top: 0 !important; }
    #home:not(.sticky-header) .home > .container {
      -ms-transform: translateY(14px);
          transform: translateY(14px); }
      #home:not(.sticky-header) .home > .container .global-sub {
        -ms-transform: translateY(-13px) !important;
            transform: translateY(-13px) !important; }
      #home:not(.sticky-header) .home > .container .global > li > a:after,
      #home:not(.sticky-header) .home > .container .global > li > span:after,
      #home:not(.sticky-header) .home > .container .util > li > a:after,
      #home:not(.sticky-header) .home > .container .util > li > span:after {
        -ms-transform: translateY(-10px) !important;
            transform: translateY(-10px) !important; }
  #home:not(.sticky-header) #main {
    margin-top: 101px !important; }
  #home #main section.spaced {
    margin-top: 25px;
    margin-bottom: 25px; }
  #home #main section.grey.panels {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media screen and (min-width: 90em) and (max-height: 64em) {
  #home:not(.sticky-header) .home {
    padding-top: 0 !important; }
    #home:not(.sticky-header) .home .container .global-sub {
      -ms-transform: translateY(-3px) !important;
          transform: translateY(-3px) !important; }
    #home:not(.sticky-header) .home .container .global > li > a:after,
    #home:not(.sticky-header) .home .container .global > li > span:after,
    #home:not(.sticky-header) .home .container .util > li > a:after,
    #home:not(.sticky-header) .home .container .util > li > span:after {
      -ms-transform: translateY(0px) !important;
          transform: translateY(0px) !important; }
  #home:not(.sticky-header) #main {
    margin-top: 133px !important; }
  #home #main section.spaced {
    margin-top: 25px;
    margin-bottom: 25px; }
  #home #main section.grey.panels {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media screen and (min-width: 120em) and (max-height: 75em) {
  #home:not(.sticky-header) .home {
    padding-top: 0 !important; }
    #home:not(.sticky-header) .home .container {
      -ms-transform: translateY(14px);
          transform: translateY(14px); }
      #home:not(.sticky-header) .home .container .global-sub {
        -ms-transform: translateY(-3px) !important;
            transform: translateY(-3px) !important; }
      #home:not(.sticky-header) .home .container .global > li > a:after,
      #home:not(.sticky-header) .home .container .global > li > span:after,
      #home:not(.sticky-header) .home .container .util > li > a:after,
      #home:not(.sticky-header) .home .container .util > li > span:after {
        -ms-transform: translateY(0px) !important;
            transform: translateY(0px) !important; }
  #home:not(.sticky-header) #main {
    margin-top: 133px !important; }
  #home #main section.spaced {
    margin-top: 25px;
    margin-bottom: 25px; }
  #home #main section.grey.panels {
    padding-top: 30px;
    padding-bottom: 30px; } }

.table {
  overflow-x: visible;
  overflow-y: scroll;
  min-height: auto; }
  @media screen and (min-width: 48em) {
    .table {
      overflow-x: inherit;
      overflow-y: auto; } }

table {
  table-layout: auto; }
  @media screen and (min-width: 48em) {
    table {
      table-layout: fixed; } }
  table tbody, table thead {
    width: 100%;
    border: 0;
    background: none; }
    table tbody > tr:nth-child(odd):hover, table thead > tr:nth-child(odd):hover {
      background: none; }
  table thead {
    border-top: 1px solid #2c2f2f;
    border-bottom: 12px solid #eaeaea; }
    table thead th {
      padding: 25px 10px 10px 10px;
      background-color: transparent;
      font-family: "Stolzl W00 Medium";
      font-weight: normal;
      font-size: 0.75em;
      text-transform: uppercase;
      color: #2c2f2f; }
  table tbody tr:nth-child(even) {
    background: none; }
  table tbody td {
    padding: 17px 10px;
    font-family: Arial, sans-serif;
    font-size: 0.875em;
    color: #2c2f2f; }
  table:after {
    content: "";
    height: 12px;
    display: block; }

.home-news-list {
  padding: 0 20px;
  margin-top: 20px; }
  .home-news-list h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    margin-top: 15px; }
  @media screen and (min-width: 30em) {
    .home-news-list {
      padding: 0 30px; } }
  @media screen and (min-width: 30em) {
    .home-news-list {
      padding: 0 30px; } }
  .home-news-list ul:before {
    content: "";
    display: table;
    clear: both; }
  .home-news-list ul:after {
    content: "";
    display: table;
    clear: both; }
  .home-news-list ul li {
    padding: 0;
    font-family: "Heuristica";
    font-size: 1em;
    line-height: 1.25em;
    border-bottom: solid 1px #00e862;
    padding-bottom: 10px;
    margin-bottom: 10px; }
    .home-news-list ul li:before {
      content: "";
      display: table;
      clear: both; }
    .home-news-list ul li:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 64em) {
      .home-news-list ul li {
        float: left;
        width: 33.33%;
        border-left: solid 2px #00e862;
        border-right: solid 2px #00e862;
        padding: 0 30px 0 15px;
        border-bottom: 0;
        margin-bottom: 0; } }
    .home-news-list ul li a {
      color: #2c2f2f;
      transition: all 200ms ease-in-out;
      display: block; }
      .home-news-list ul li a:hover, .home-news-list ul li a:focus {
        color: #616363;
        text-decoration: none; }
    @media screen and (min-width: 48em) {
      .home-news-list ul li:first-of-type {
        border-right: 0;
        border-left: 0;
        padding-left: 0; } }
    .home-news-list ul li:last-of-type {
      border: 0; }
      @media screen and (min-width: 48em) {
        .home-news-list ul li:last-of-type {
          padding-right: 0; } }
  @media screen and (min-width: 48em) {
    .home-news-list {
      margin-top: 0;
      -ms-flex: 38%;
          flex: 38%;
      max-width: 38%;
      padding-left: 40px; }
      .home-news-list ul {
        max-width: 280px; }
      .home-news-list h2 {
        margin-top: 0; } }
  @media screen and (min-width: 64em) {
    .home-news-list {
      position: relative;
      -ms-flex: 58.33333%;
          flex: 58.33333%;
      max-width: 58.33333%;
      margin-top: 0;
      padding-right: 0;
      padding-left: 40px; }
      .home-news-list ul {
        max-width: none;
        display: block;
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
        .home-news-list ul > li {
          font-size: 1.0625em;
          line-height: 1.36364em; } }
  @media screen and (min-width: 80em) {
    .home-news-list {
      -ms-flex: 60%;
          flex: 60%;
      max-width: 60%;
      padding-left: 40px; }
      .home-news-list ul > li {
        font-size: 1.0625em; } }
  @media screen and (min-width: 100em) {
    .home-news-list h2 {
      margin-bottom: 0; }
    .home-news-list ul > li {
      font-size: 1.1875em; } }
  @media screen and (min-width: 118.75em) {
    .home-news-list {
      -ms-flex: 65%;
          flex: 65%;
      max-width: 60%; }
      .home-news-list ul > li {
        font-size: 1.375em; } }

.news-list-page h5 {
  margin-bottom: 0; }

.news-list-page ul {
  padding-top: 1.875em; }

.news-list-page li {
  padding-top: 0.625em;
  padding-bottom: 1.5625em;
  border-bottom: 1px solid #eaeaea; }

.share-promo {
  max-width: 320px;
  margin: 0 auto;
  /*
	.latest-news {
		margin-top: 20px;
		@include breakpoint(large) {
			margin-top: 0;
		}
		h2 {
			font-family:"Stolzl W00 Book";
			font-size: em(13);
			line-height: .9;
			letter-spacing: em(2);
			text-transform: uppercase;
			color: $color-grey3;
		}
	}
	*/ }
  .share-promo:before {
    content: "";
    display: table;
    clear: both; }
  .share-promo:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 30em) {
    .share-promo {
      max-width: 360px; } }
  @media screen and (min-width: 48em) {
    .share-promo {
      padding: 0; } }
  @media screen and (min-width: 80em) {
    .share-promo {
      max-width: 30%;
      -ms-flex: 40%;
          flex: 40%; } }
  @media screen and (min-width: 118.75em) {
    .share-promo {
      max-width: 35%;
      -ms-flex: 35%;
          flex: 35%; } }
  .share-promo .wysiwyg .investor-btn,
  .share-promo .wysiwyg .share-price {
    text-decoration: none; }
    .share-promo .wysiwyg .investor-btn:hover, .share-promo .wysiwyg .investor-btn:focus, .share-promo .wysiwyg .investor-btn:active, .share-promo .wysiwyg .investor-btn:visited,
    .share-promo .wysiwyg .share-price:hover,
    .share-promo .wysiwyg .share-price:focus,
    .share-promo .wysiwyg .share-price:active,
    .share-promo .wysiwyg .share-price:visited {
      text-decoration: none; }
  .share-promo .investor-btn {
    float: left;
    border-radius: 80%;
    height: 130px;
    width: 130px;
    background: #00e862;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    text-align: center;
    transition: background-color 0.3s; }
    .share-promo .investor-btn div, .share-promo .investor-btn div span {
      transition: color 0.3s; }
    .share-promo .investor-btn:hover, .share-promo .investor-btn:focus {
      background-color: #2c2f2f; }
      .share-promo .investor-btn:hover div, .share-promo .investor-btn:focus div {
        color: #fff; }
        .share-promo .investor-btn:hover div span, .share-promo .investor-btn:focus div span {
          color: #00e862; }
    .share-promo .investor-btn div {
      font-family: "Stolzl W00 Medium";
      color: #2c2f2f;
      text-transform: uppercase;
      font-size: 1em;
      line-height: 1;
      padding: 0 10px; }
      .share-promo .investor-btn div span {
        color: #fff;
        display: block;
        font-family: "Heuristica Italic";
        font-size: 1.125em;
        text-transform: none;
        margin: 0 0 2px 0; }
      @media screen and (min-width: 64em) {
        .share-promo .investor-btn div {
          padding: 0 10px; }
          .share-promo .investor-btn div:hover, .share-promo .investor-btn div:focus {
            text-decoration: none; } }
      @media screen and (min-width: 80em) {
        .share-promo .investor-btn div {
          padding: 0 30px; } }
      @media screen and (min-width: 118.75em) {
        .share-promo .investor-btn div {
          font-size: 1.25em; }
          .share-promo .investor-btn div span {
            font-size: 1.25em;
            margin-left: -5px; } }
    @media screen and (min-width: 48em) {
      .share-promo .investor-btn {
        float: none;
        position: absolute;
        left: 50%;
        -ms-transform: translate(-50%);
            transform: translate(-50%);
        height: 140px;
        width: 140px; } }
    @media screen and (min-width: 64em) {
      .share-promo .investor-btn {
        float: left;
        position: relative;
        left: auto;
        -ms-transform: none;
            transform: none;
        height: 140px;
        width: 140px; } }
    @media screen and (min-width: 80em) {
      .share-promo .investor-btn {
        height: 155px;
        width: 155px; } }
    @media screen and (min-width: 118.75em) {
      .share-promo .investor-btn {
        height: 195px;
        width: 195px; } }
  .share-promo .share-price {
    display: block;
    overflow: hidden;
    padding: 0 0 0 20px; }
    .share-promo .share-price h2 {
      font-family: "Stolzl W00 Book";
      font-size: 0.8125em;
      line-height: .9;
      letter-spacing: 0.0375em;
      text-transform: uppercase;
      color: #646464;
      font-weight: normal;
      text-align: center; }
    .share-promo .share-price .stock-updated {
      display: none; }
    @media screen and (min-width: 48em) {
      .share-promo .share-price {
        position: absolute;
        right: 40px;
        max-width: 260px;
        padding-left: 0;
        margin-right: 6.25%; }
        .share-promo .share-price h2 {
          text-align: left; } }
    @media screen and (min-width: 64em) {
      .share-promo .share-price {
        position: relative;
        right: auto;
        padding-left: 40px; }
        .share-promo .share-price .stock-updated {
          display: block; }
        .share-promo .share-price h2 {
          margin-bottom: 0; } }
    @media screen and (min-width: 80em) {
      .share-promo .share-price {
        margin-right: 3.3333%; } }
  .share-promo a.share-price:hover .stock-price, .share-promo a.share-price:focus .stock-price {
    color: #00e862; }
  .share-promo a.share-price:hover .stock-index *, .share-promo a.share-price:focus .stock-index * {
    transition: none;
    color: #2c2f2f; }
  @media screen and (min-width: 64em) {
    .share-promo a.share-price:hover h2,
    .share-promo a.share-price:hover span,
    .share-promo a.share-price:hover p, .share-promo a.share-price:focus h2,
    .share-promo a.share-price:focus span,
    .share-promo a.share-price:focus p {
      text-decoration: none !important; } }
  @media screen and (min-width: 64em) and (max-width: 79.9375em) {
    .share-promo article {
      margin-left: 0;
      margin-right: 0; } }

.stock-price span {
  display: block;
  font-size: 1.875em;
  line-height: normal;
  font-family: "Stolzl W00 Bold";
  padding: 0 10px 5px 10px;
  border-bottom: solid 7px #00e862;
  margin-bottom: -7px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .stock-price span {
      font-size: 2.8125em;
      text-align: left; } }
  @media screen and (min-width: 64em) {
    .stock-price span {
      font-size: 2.375em;
      text-align: left; } }
  @media screen and (min-width: 80em) {
    .stock-price span {
      font-size: 2.625em;
      text-align: center; } }
  @media screen and (min-width: 118.75em) {
    .stock-price span {
      font-size: 3.375em;
      text-align: center; } }

.stock-wrapper {
  border-top: solid 7px #00e862;
  display: block; }

.stock-index {
  position: relative;
  left: 50%;
  -ms-transform: translate(-50%);
      transform: translate(-50%);
  display: inline-block;
  padding: 10px 0 10px 0;
  /*
	&:before {
		@include wf-icon($icon-arrow-up, 13px, $color-grey-body); //$icon-arrow-down
		display: block;
		position: absolute;
		left:0;
		top:50%;
		@include transform (translateY(-50%));
		width:20px;
		height:12px;		
	}
	*/ }
  .stock-index > i {
    display: inline-block;
    width: 20px;
    height: 20px;
    font-size: 12px; }
  .stock-index > span {
    font-size: 0.75em;
    font-family: "Stolzl W00 Book";
    padding: 0 0 0 10px;
    display: inline-block; }
    .stock-index > span:first-of-type {
      padding: 0 10px 0 0;
      border-right: solid 1px #00e862; }
    @media screen and (min-width: 48em) {
      .stock-index > span {
        font-size: 1em; } }
    @media screen and (min-width: 90em) {
      .stock-index > span {
        font-size: 1.1875em; } }

.stock-updated {
  font-size: 0.625em;
  text-transform: uppercase;
  font-family: "Stolzl W00 Book";
  color: #616363; }
  .stock-updated strong {
    display: none;
    font-family: "Stolzl W00 Medium";
    color: #2c2f2f; }
  @media screen and (min-width: 64em) {
    .stock-updated {
      text-align: center; } }
  @media screen and (min-width: 90em) {
    .stock-updated {
      font-size: 0.6875em; }
      .stock-updated strong {
        display: inline-block; } }
  @media screen and (min-width: 118.75em) {
    .stock-updated {
      font-size: 0.75em; } }

.panel {
  margin-bottom: 40px; }
  @media screen and (min-width: 64em) {
    .panel {
      margin-bottom: 75px;
      border-bottom: solid 2px #00e862;
      transition: border 200ms ease-out;
      height: auto !important;
      height: 18.75em; } }
  .panel a {
    margin: 0 -20px;
    display: block; }
    @media screen and (min-width: 30em) {
      .panel a {
        margin: 0; } }
    @media screen and (min-width: 48em) {
      .panel a {
        margin: 0;
        text-decoration: none; } }
    .panel a .image,
    .panel a .image:before,
    .panel a .image:after,
    .panel a .image > img {
      transition: all .3s; }
    .panel a .image, .panel a .video-play {
      position: relative;
      overflow: hidden;
      font-size: 0; }
      .panel a .image:before, .panel a .video-play:before {
        display: block;
        position: absolute;
        content: '';
        z-index: 999;
        background-color: #2c2f2f;
        width: 100%;
        height: 100%;
        opacity: 0; }
      @media screen and (min-width: 48em) {
        .panel a .image, .panel a .video-play {
          margin: 0 0 20px 0; }
          .panel a .image > img, .panel a .video-play > img {
            -ms-transform: scale(1.002);
                transform: scale(1.002); } }
    .panel a img {
      margin: 0;
      width: 100%;
      height: auto;
      font-size: 0;
      backface-visibility: hidden; }
    .panel a h2 {
      font-family: "Heuristica";
      font-size: 1.25em;
      line-height: 1.3em;
      font-weight: 300;
      transition: none; }
    .panel a p {
      transition: none; }
    .panel a:hover, .panel a:focus {
      /*
            @include breakpoint(large) {
                h2,
                p {
                    color: $color-green-anc;
                    text-decoration: none;
                }
            }
            */ }
      .panel a:hover h2, .panel a:hover p, .panel a:focus h2, .panel a:focus p {
        color: #000; }
      .panel a:hover .image:before, .panel a:hover .video-play:before, .panel a:focus .image:before, .panel a:focus .video-play:before {
        opacity: .33; }
      .panel a:hover .image > img, .panel a:hover .video-play > img, .panel a:focus .image > img, .panel a:focus .video-play > img {
        -ms-transform: scale(1.033);
            transform: scale(1.033); }
    .panel a.video-play .video-icon {
      z-index: 2;
      width: 46px;
      height: 46px;
      background-color: #00e862;
      background-color: rgba(0, 232, 98, 0.85);
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      transition: background-color .3s; }
      .panel a.video-play .video-icon:after {
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 30px;
        color: #fff;
        line-height: 0;
        display: block;
        position: absolute;
        top: 50%;
        left: 53%;
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
        transition: color .3s; }
    .panel a.video-play:hover .video-icon {
      z-index: 9999; }
  @media screen and (min-width: 30em) {
    .panel > a:first-child {
      margin-top: 30px; } }
  @media screen and (min-width: 48em) {
    .panel > a:first-child {
      margin-top: 0; } }
  .panel .copy {
    padding: 10px 20px; }
    @media screen and (min-width: 30em) {
      .panel .copy {
        padding: 0; } }
    @media screen and (min-width: 64em) {
      .panel .copy {
        padding: 0 0 20px 0; } }
    .panel .copy p:last-of-type {
      margin-bottom: 0; }
  .panel a, .panel a p, .panel a:hover p, .panel a:focus p {
    transition: none; }

.leadership-panel {
  margin-bottom: 40px; }
  .leadership-panel:before {
    content: "";
    display: table;
    clear: both; }
  .leadership-panel:after {
    content: "";
    display: table;
    clear: both; }
  .leadership-panel .image {
    position: relative;
    width: 40%;
    float: left;
    background-color: #2c2f2f; }
  @media screen and (min-width: 30em) {
    .leadership-panel > a:first-child {
      margin-top: 30px; } }
  @media screen and (min-width: 48em) {
    .leadership-panel > a:first-child {
      margin-top: 0; } }
  .leadership-panel .copy {
    position: relative;
    width: 60%;
    float: right;
    border-bottom: 1px solid #cacbcb;
    margin-left: 50px; }
    @media screen and (min-width: 30em) {
      .leadership-panel .copy {
        padding: 0; } }

.split-copy-panels .panel .copy:before {
  content: "";
  display: table;
  clear: both; }

.split-copy-panels .panel .copy:after {
  content: "";
  display: table;
  clear: both; }

.split-copy-panels .panel .copy h2 {
  font-family: "Heuristica Bold";
  font-size: 1.125em;
  margin-top: 0; }
  @media screen and (min-width: 30em) {
    .split-copy-panels .panel .copy h2 {
      margin-top: 10px; } }
  @media screen and (min-width: 64em) {
    .split-copy-panels .panel .copy h2 {
      margin-top: 0;
      margin-bottom: 0; } }
  @media screen and (min-width: 90em) {
    .split-copy-panels .panel .copy h2 {
      float: left;
      max-width: 49%;
      font-size: 1.25em; } }

.split-copy-panels .panel .copy p {
  position: relative;
  font-family: "Heuristica";
  font-size: 1em; }
  @media screen and (min-width: 90em) {
    .split-copy-panels .panel .copy p {
      float: right;
      max-width: 48.5%;
      font-size: 1.0625em;
      min-height: 74px;
      text-overflow: ellipsis; } }

.related-panels {
  margin-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .related-panels {
      padding: 0 30px; }
      .related-panels .columns {
        padding-left: 15px;
        padding-right: 15px; } }
  @media screen and (min-width: 64em) {
    .related-panels {
      margin-bottom: 40px;
      padding: 0 100px; } }
  @media screen and (min-width: 80em) {
    .related-panels {
      max-width: none !important;
      margin-bottom: 40px;
      padding: 0; } }
  .related-panels .related-panel {
    border-top: solid 7px #00e862;
    padding-top: 15px; }
    .related-panels .related-panel h2 {
      font-size: 1.375em; }
    .related-panels .related-panel p {
      font-size: 1.0625em; }
    .related-panels .related-panel a {
      font-size: 0.82353em;
      font-family: "Heuristica Italic"; }

@media screen and (min-width: 48em) {
  .featured > .row {
    -ms-flex-flow: row;
        flex-flow: row;
    margin-left: -0.75rem;
    margin-right: -0.75rem; }
    .featured > .row .column, .featured > .row .columns {
      padding-left: 0.75rem;
      padding-right: 0.75rem; } }

.grey .panel a .image:before,
.grey .panel a .video-play:before {
  background-color: #2c2f2f; }

.panel.exc-grey a .image:before,
.panel.exc-grey a .video-play:before {
  display: none !important; }

.investor-centre .tile-links h2, .investor-centre .debt-investors h2, .investor-centre .sustainability-links h2 {
  font-family: "Stolzl W00 Bold";
  font-size: 1.125em;
  line-height: .9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #2c2f2f;
  font-weight: normal; }

.investor-centre .wrapper {
  padding: 20px; }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 15px; }
  .investor-centre .grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .grid > .share-promo,
    .investor-centre .grid > .debt-investors,
    .investor-centre .grid > .news-list {
      -moz-flex: 1 100%;
      -ms-flex: 1 100%;
      -o-flex: 1 100%;
      flex: 1 100%; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 1 50%;
      -ms-flex: 1 50%;
      -o-flex: 1 50%;
      flex: 1 50%; } }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 30px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 40px; }
  .investor-centre .grid {
    -ms-flex-flow: row;
    -o-flex-flow: row;
    flex-flow: row; }
    .investor-centre .grid > .share-promo {
      -moz-flex: 1 20%;
      -ms-flex: 1 20%;
      -o-flex: 1 20%;
      flex: 1 20%;
      -ms-flex-order: 1;
          order: 1; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 0 38%;
      -ms-flex: 0 38%;
      -o-flex: 0 38%;
      flex: 0 38%;
      -ms-flex-order: 4;
          order: 4; }
    .investor-centre .grid > .debt-investors {
      position: absolute;
      bottom: 0;
      left: 55px;
      width: 18%;
      max-width: 246px; }
    .investor-centre .grid > .news-list {
      position: absolute;
      top: 286px;
      left: 55px;
      width: 18%;
      max-width: 246px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 55px 55px 0 55px; } }

#investor-centre #main .investor-centre .row,
#investor-centre #main .investors .row {
  max-width: 100em;
  background-color: #fff; }

@media screen and (min-width: 80em) {
  #investor-centre {
    background-color: #2c2f2f; } }

@media screen and (min-width: 48em) {
  #investor-centre #main .investors {
    margin-bottom: 0;
    border: none; }
    #investor-centre #main .investors .page-intro {
      margin-bottom: 0;
      border-bottom: 6px solid #00e862; } }

.investor-centre .share-promo {
  margin: 20px auto;
  max-width: 420px; }
  .investor-centre .share-promo > a:hover, .investor-centre .share-promo > a:focus {
    text-decoration: none; }
    .investor-centre .share-promo > a:hover .stock-price > span, .investor-centre .share-promo > a:focus .stock-price > span {
      color: #00e862; }
  .investor-centre .share-promo h2 {
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #2c2f2f;
    font-weight: normal;
    text-align: left;
    margin-bottom: 0; }
  .investor-centre .share-promo .share-price {
    position: relative;
    padding: 0; }
    .investor-centre .share-promo .share-price .stock-price > span {
      font-size: 65px;
      margin-bottom: 0; }
    .investor-centre .share-promo .share-price .stock-index > span {
      font-size: 1.625em;
      padding-left: 20px;
      padding-right: 20px;
      color: #2c2f2f !important; }
      .investor-centre .share-promo .share-price .stock-index > span:first-of-type {
        padding-left: 10px;
        padding-bottom: 8px; }
    .investor-centre .share-promo .share-price .stock-index > i {
      font-size: 1.375em;
      color: #2c2f2f !important;
      margin-top: 5px;
      width: 30px;
      height: 30px;
      padding-left: 10px; }
    .investor-centre .share-promo .share-price .stock-updated-list {
      padding: 10px 0 5px;
      border-top: 1px solid #00e862;
      border-bottom: 1px solid #00e862; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-family: "Stolzl W00 Book";
        font-size: 0.75em;
        line-height: .9;
        letter-spacing: 0.0375em;
        text-transform: uppercase;
        color: #646464;
        font-weight: normal;
        padding-bottom: 4px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li > span {
          display: inline-block;
          min-width: 85px; }
    .investor-centre .share-promo .share-price .stock-wrapper {
      border: none; }
  @media screen and (min-width: 30em) {
    .investor-centre .share-promo {
      max-width: 420px; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-size: 0.78125em; } }
  @media screen and (min-width: 48em) and (max-width: 79.9375em) {
    .investor-centre .share-promo {
      max-width: none;
      margin: 20px auto;
      padding: 0; }
      .investor-centre .share-promo:before {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo:after {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo h2 {
        display: block;
        -moz-flex: 0 100%;
        -ms-flex: 0 100%;
        -o-flex: 0 100%;
        flex: 0 100%;
        padding-bottom: 0;
        max-width: 768px;
        margin: 0 auto; }
      .investor-centre .share-promo .share-price {
        max-width: 768px;
        left: 50%;
        -ms-transform: translate(-50%);
        transform: translate(-50%);
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
        -o-flex-flow: row;
        flex-flow: row;
        border-bottom: 7px solid #00e862;
        padding: 20px 0;
        margin-right: 0;
        margin-left: 0; }
        .investor-centre .share-promo .share-price:before {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price:after {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price .stock-price {
          -moz-flex: 1 33.33333%;
          -ms-flex: 1 33.33333%;
          -o-flex: 1 33.33333%;
          flex: 1 33.33333%; }
          .investor-centre .share-promo .share-price .stock-price > span {
            border: none;
            text-align: left;
            padding-left: 0;
            padding-right: 0;
            line-height: .9; }
        .investor-centre .share-promo .share-price .stock-wrapper {
          -moz-flex: 0 66.66666%;
          -ms-flex: 0 66.66666%;
          -o-flex: 0 66.66666%;
          flex: 0 66.66666%;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row;
          -o-flex-flow: row;
          flex-flow: row;
          border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -moz-flex: 0 35%;
            -ms-flex: 0 35%;
            -o-flex: 0 35%;
            flex: 0 35%; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -ms-transform: none;
                transform: none;
            left: 0;
            padding: 0 0 0 10px;
            border-left: 1px solid #00e862; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
              position: absolute; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span,
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span:first-of-type {
              display: block;
              padding-left: 40px;
              padding-bottom: 5px;
              padding-right: 25px;
              border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list {
            -moz-flex: 65%;
            -ms-flex: 65%;
            -o-flex: 65%;
            flex: 65%;
            border: none;
            border-left: 1px solid #00e862;
            padding: 0 0 0 25px; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li {
              padding-bottom: 10px; }
              .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li:last-child {
                padding-bottom: 0; } }
  @media screen and (min-width: 80em) {
    .investor-centre .share-promo {
      margin: 0; }
      .investor-centre .share-promo .share-price {
        max-width: 246px; }
        .investor-centre .share-promo .share-price .stock-price > span {
          font-size: 3.4375em; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span {
          font-size: 1.125em;
          padding-bottom: 0; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
          font-size: 18px;
          height: 20px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li {
          font-size: 0.6875em; }
          .investor-centre .share-promo .share-price .stock-updated-list > li > span:first-child {
            min-width: 75px; } }

.announcement-bar {
  position: relative;
  width: 100%;
  background-color: #00e862;
  overflow: hidden;
  /* add override to prevent margin buffer */ }
  .announcement-bar p,
  .announcement-bar a {
    color: #000; }
  .announcement-bar p {
    text-align: center;
    padding: 8px 20px 4px; }
  .announcement-bar a {
    text-decoration: underline;
    /*
        transition:color .3s;
        &:hover, &:focus {
        	color:#fff;
        }
        */ }
    .announcement-bar a:hover, .announcement-bar a:focus {
      color: #000; }
  .announcement-bar .wysiwyg > .wysiwyg-inner:first-child {
    margin-top: 0; }
  @media screen and (min-width: 48em) {
    .announcement-bar {
      border-bottom: 10px solid #00e862;
      border-left: 10px solid #00e862;
      border-right: 10px solid #00e862; }
      .announcement-bar p {
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 8px 20px 8px;
        position: relative;
        left: 50%;
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
        z-index: 2;
        font-size: 0.96875em;
        background-color: #00e862; }
        .announcement-bar p:after, .announcement-bar p:before {
          content: '';
          position: absolute;
          display: block; }
        .announcement-bar p:before {
          top: 0;
          left: -50px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0 72px 54px;
          border-color: transparent transparent #00e862 transparent; }
        .announcement-bar p:after {
          bottom: 0;
          right: -52px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 72px 54px 0 0;
          border-color: #00e862 transparent transparent transparent; }
      .announcement-bar:before {
        background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5NUM4NzczMDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5NUM4Nzc0MDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjk1Qzg3NzEwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjk1Qzg3NzIwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BrT4mAAAB+ElEQVR42uzb3U3DAAxFYeoFmKfdAAamGzAPsEBIHnhBKk1Dfo7tY8kPeYv0SZEi33sahuGp8ZzHvY77DHiXr3FfQgwOxrjvIQYHY3oIMTgYHUHQGN1A8BidQFJgdAFJg9EBJBVGdZB0GJVBSBifczGqgtAwXudiVARJjVENJD1GJZASGFVAymBUACmFkR2kHEZmkJIYWUHKYmQEKY2RDaQ8RiaQFhhZQNpgZABphUEHaYdBBmmJQQVpi0EEaY1BA2mPQQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBArmIwQGZMN7EYICIAQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAzWkYhg8xMHOeQAYxGBjjXkMMDsb0pQoxOBh//amLcQDGkSBi3MixhRgcjCNAxLiT8AwxOBh7gogxM/scYnAw9gAR48FWQIjBwdgSRIyFFY0QYzOMRSeNEIODsTaIGCsc+0IMDsZaIGKseAYPMTgY/wURY4OASIjBwVgKIsaG0akQg4PxKIgYO4QKQwwOxlwQMXaM24YYHIx7IGIcEEQPMTgYt0DEOLCiEWJwMH6DiAEoL4UYHIwfEDFAtb6pQXURg9Ox/BZgAOUXORxGy4aaAAAAAElFTkSuQmCC");
        background-size: 6px auto;
        content: '';
        position: absolute;
        top: 3px;
        left: -10%;
        z-index: 1;
        display: block;
        width: 120%;
        height: 100%;
        opacity: .75;
        -ms-transform: skewX(15deg);
            transform: skewX(15deg); } }

.investor-centre .tile-links:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links h2 {
  margin-top: 30px;
  line-height: 1.1; }

.investor-centre .tile-links ul > li,
.investor-centre .tile-links ul > li > a {
  font-family: "Stolzl W00 Book";
  font-size: 1em;
  line-height: 1.3;
  letter-spacing: 0; }

.investor-centre .tile-links ul > li > a {
  display: block;
  position: relative;
  padding: 15px;
  background-color: #eaeaea;
  transition: background-color .4s;
  margin-bottom: 10px;
  overflow: hidden; }

.investor-centre .tile-links ul > li:hover > a {
  color: #000;
  background-color: #00e862;
  text-decoration: none; }

@media screen and (min-width: 30em) {
  .investor-centre .tile-links ul > li > a {
    position: relative;
    min-height: 80px;
    font-size: 1.125em; }
    .investor-centre .tile-links ul > li > a > span {
      position: absolute;
      display: block;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .investor-centre .tile-links.lt ul {
    margin-right: 15px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 15px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 20px; } }

@media screen and (min-width: 64em) {
  .investor-centre .tile-links h2 {
    min-height: 34px;
    margin-bottom: 5px; }
  .investor-centre .tile-links ul {
    margin: 0 -5px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .tile-links ul > li {
      -moz-flex: 0 50%;
      -ms-flex: 0 50%;
      -o-flex: 0 50%;
      flex: 0 50%;
      position: relative; }
      .investor-centre .tile-links ul > li:after {
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 22px;
        color: #00e862;
        display: block;
        position: absolute;
        z-index: 5;
        right: 12px;
        bottom: 7px;
        transition: color .4s; }
      .investor-centre .tile-links ul > li > a {
        margin: 5px;
        min-height: 120px;
        font-size: 1.125em; }
        .investor-centre .tile-links ul > li > a > span {
          position: relative;
          top: auto;
          -ms-transform: none;
              transform: none; }
        .investor-centre .tile-links ul > li > a:after, .investor-centre .tile-links ul > li > a:before {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          width: 100%;
          height: 100%;
          background: url(../img/tile-triangle.svg) no-repeat;
          -ms-background-size: 100% 120px;
          background-size: 100% 120px;
          transition: background-position .8s ease-in-out, opacity .3s; }
        .investor-centre .tile-links ul > li > a:after {
          opacity: .2; }
        .investor-centre .tile-links ul > li > a:before {
          opacity: 0;
          background-position: 0 -122px;
          -ms-transform: scale(-1);
              transform: scale(-1); }
      .investor-centre .tile-links ul > li:hover:after, .investor-centre .tile-links ul > li:focus:after {
        color: #fff; }
      .investor-centre .tile-links ul > li:hover > a, .investor-centre .tile-links ul > li:focus > a {
        background-color: #13d563; }
        .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
          opacity: 0;
          background-position: 0 -122px; }
        .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
          opacity: .05;
          background-position: 0 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .tile-links h2 {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 1.75em; }
  .investor-centre .tile-links ul > li > a {
    margin: 5px;
    min-height: 140px;
    font-size: 1.1875em; }
    .investor-centre .tile-links ul > li > a:before, .investor-centre .tile-links ul > li > a:after {
      background-size: 100% 140px; }
    .investor-centre .tile-links ul > li > a:before {
      background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
    background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
    background-position: 0 0; } }

@media screen and (min-width: 90em) {
  .investor-centre .tile-links h2 {
    margin-top: -5px;
    margin-bottom: 55px;
    font-size: 2em; }
  .investor-centre .tile-links ul > li > a {
    font-size: 1.25em; }
  .investor-centre .tile-links.lt {
    position: relative; }
    .investor-centre .tile-links.lt:before, .investor-centre .tile-links.lt:after {
      content: '';
      position: absolute;
      display: block;
      width: 1px;
      height: 100%;
      height: calc(100% - 5px);
      background-color: #cacbcb;
      top: 0; }
    .investor-centre .tile-links.lt:before {
      left: -30px; }
    .investor-centre .tile-links.lt:after {
      right: -10px; }
  .investor-centre .tile-links ul {
    margin-right: 32px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 32px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 38px; } }

@media screen and (min-width: 118.75em) {
  .investor-centre .tile-links ul > li > a {
    font-size: 1.375em; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .investor-centre .tile-links article {
    margin-left: 0;
    margin-right: 0; } }

.investor-centre .debt-investors {
  border-top: 1px solid #00e862;
  border-bottom: 1px solid #00e862;
  padding: 15px 0;
  margin-top: 30px; }
  .investor-centre .debt-investors .wysiwyg > div {
    margin: 0; }
  .investor-centre .debt-investors:before {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .debt-investors:after {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .debt-investors h2 {
    display: block;
    position: relative;
    margin: 0;
    transition: color .3s; }
    .investor-centre .debt-investors h2:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 22px;
      color: #00e862;
      display: block;
      position: absolute;
      right: 10px;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    .investor-centre .debt-investors h2:hover, .investor-centre .debt-investors h2:focus {
      color: #00cf57; }
  @media screen and (min-width: 30em) and (max-width: 79.9375em) {
    .investor-centre .debt-investors h2:after {
      position: relative;
      display: inline-block;
      right: auto;
      -ms-transform: none;
          transform: none;
      top: 0;
      padding-left: 5px; } }
  @media screen and (min-width: 80em) {
    .investor-centre .debt-investors {
      margin-bottom: 5px; } }

.investor-centre .news-list:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list h2 {
  font-family: "Stolzl W00 Medium";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #2c2f2f; }

.investor-centre .news-list .date-time {
  font-family: "Stolzl W00 Book";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #646464;
  font-weight: normal; }

.investor-centre .news-list h2 {
  margin-top: 50px; }

.investor-centre .news-list > .wrapper {
  padding: 0; }
  .investor-centre .news-list > .wrapper .item {
    margin-bottom: 20px; }
    .investor-centre .news-list > .wrapper .item .date-time {
      font-family: "Stolzl W00 Medium";
      margin-bottom: 10px; }
    .investor-centre .news-list > .wrapper .item p:not(:first-child) {
      font-size: 1.0625em; }

@media screen and (min-width: 48em) and (max-width: 79.9375em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list .wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row;
      -o-flex-flow: row;
      flex-flow: row;
      margin: 0 -1.25rem;
      padding: 0;
      max-width: 100em; }
      .investor-centre .news-list .wrapper > .item {
        -moz-flex: 1 33.3333%;
        -ms-flex: 1 33.3333%;
        -o-flex: 1 33.3333%;
        flex: 1 33.3333%;
        padding: 0 1.25rem;
        margin-bottom: 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list h2 {
      margin-top: 0; }
    .investor-centre .news-list .wrapper {
      display: block; }
      .investor-centre .news-list .wrapper > .item {
        width: 100%;
        max-height: 62px;
        overflow: hidden;
        margin-bottom: 10px; }
        .investor-centre .news-list .wrapper > .item p:not(:first-child) {
          font-size: 0.9375em; } }

.featured {
  padding-top: 0;
  margin-top: 10px;
  border-top: 1px solid #cacbcb; }
  .featured > h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    padding-top: 10px; }
  @media screen and (min-width: 30em) {
    .featured {
      border: none; }
      .featured > h2 {
        border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 0\0) {
  .featured {
    width: 100%; }
    .featured .row .column, .featured .row .columns {
      width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 30em) {
  .investor-centre .grid {
    width: 100%; }
  .announcement-bar p {
    display: block; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 79.9375em) {
  .share-promo .share-price .stock-index {
    padding-right: 30px !important; } }

@media screen and (min-width: 0\0) and (min-width: 80em) {
  .investor-centre .grid {
    width: 100%; }
    .investor-centre .grid > .share-promo {
      width: 20%; }
    .investor-centre .grid > .tile-links {
      width: 38%; }
  .featured .row .column, .featured .row .columns {
    width: 33%; } }

body.careers #main {
  position: relative;
  font-family: "Avenir"; }
  body.careers #main .to-top-button {
    position: fixed;
    right: 30px;
    bottom: 30px;
    cursor: pointer;
    z-index: 20; }
    @media (max-width: 767px) {
      body.careers #main .to-top-button {
        display: none; } }
    body.careers #main .to-top-button.mobile {
      display: none;
      right: 10px;
      bottom: 10px; }
      @media (max-width: 767px) {
        body.careers #main .to-top-button.mobile {
          display: block; } }
  body.careers #main section:first-of-type {
    padding-top: 50px; }
  body.careers #main .careers-sect-1 {
    padding-bottom: 50px; }
    body.careers #main .careers-sect-1 .content-sect-1 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      @media (max-width: 1023px) {
        body.careers #main .careers-sect-1 .content-sect-1 {
          -ms-flex-order: 1;
              order: 1; } }
    @media (max-width: 1023px) {
      body.careers #main .careers-sect-1 img {
        width: 75%;
        position: relative;
        bottom: -30px;
        right: -58px;
        margin-bottom: 10px; } }
    @media (max-width: 1023px) {
      body.careers #main .careers-sect-1 {
        padding-top: 0 !important; } }
  body.careers #main .careers-sect-2 {
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    @media (max-width: 1023px) {
      body.careers #main .careers-sect-2 {
        -ms-flex-direction: column;
            flex-direction: column; } }
    body.careers #main .careers-sect-2 .sect-2-main-img {
      width: 100%;
      display: block;
      height: 750px;
      object-fit: cover; }
      @media (max-width: 1439px) {
        body.careers #main .careers-sect-2 .sect-2-main-img {
          height: auto; } }
    body.careers #main .careers-sect-2 .desktop-view {
      display: -ms-flexbox;
      display: flex; }
      @media (max-width: 1023px) {
        body.careers #main .careers-sect-2 .desktop-view {
          display: none; } }
    body.careers #main .careers-sect-2 .sect-2-content {
      position: absolute;
      width: 100%;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      body.careers #main .careers-sect-2 .sect-2-content .glass-bg {
        padding: 40px 70px;
        background: rgba(0, 0, 0, 0.4); }
        body.careers #main .careers-sect-2 .sect-2-content .glass-bg .quote-text {
          font-size: 24px;
          line-height: 2rem;
          margin-bottom: 20px;
          position: relative; }
          body.careers #main .careers-sect-2 .sect-2-content .glass-bg .quote-text:before {
            position: absolute;
            content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/quote-icon.png);
            left: -45px;
            top: -15px; }
          body.careers #main .careers-sect-2 .sect-2-content .glass-bg .quote-text:after {
            position: absolute;
            content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/end-quote-icon.png);
            bottom: -25px;
            right: -37px; }
        @media (max-width: 1023px) {
          body.careers #main .careers-sect-2 .sect-2-content .glass-bg {
            background: none;
            padding: 20px; } }
      @media (max-width: 1023px) {
        body.careers #main .careers-sect-2 .sect-2-content {
          position: relative;
          top: 0;
          left: 0;
          -ms-transform: none;
              transform: none;
          background: #0E0E0E; } }
  body.careers #main .careers-sect-3 {
    padding: 100px 0;
    background: #F8F8F8; }
    body.careers #main .careers-sect-3 .card {
      background: white;
      border-radius: 30px;
      padding: 40px;
      height: 350px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      @media (max-width: 1023px) {
        body.careers #main .careers-sect-3 .card {
          height: auto; } }
  body.careers #main .careers-sect-4 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 50px 0; }
    body.careers #main .careers-sect-4 .video-wrapper .bg-image {
      border-radius: 30px; }
    body.careers #main .careers-sect-4 .video-wrapper .video-desc {
      border-radius: 0 0 30px 30px; }
  body.careers #main .careers-sect-5 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 100px 0;
    position: relative; }
    @media (max-width: 767px) {
      body.careers #main .careers-sect-5 {
        padding: 50px 0;
        -ms-flex-direction: column;
            flex-direction: column; } }
    body.careers #main .careers-sect-5 .content-sect-5 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      @media (max-width: 767px) {
        body.careers #main .careers-sect-5 .content-sect-5 {
          -ms-flex-order: 1;
              order: 1; } }
    body.careers #main .careers-sect-5 > img {
      position: absolute;
      border-radius: 30px 0 0 30px;
      height: 550px;
      width: 46%;
      right: 0;
      top: 50px;
      object-fit: cover; }
      @media (max-width: 767px) {
        body.careers #main .careers-sect-5 > img {
          position: relative;
          width: 90%;
          height: auto;
          top: 0;
          -ms-flex-item-align: end;
              align-self: flex-end;
          margin-bottom: 30px; } }
  body.careers #main .careers-sect-6 {
    background: #2D2F2F;
    padding: 50px 0 50px; }
    body.careers #main .careers-sect-6 .talent-swiper {
      padding-top: 50px; }
      body.careers #main .careers-sect-6 .talent-swiper .swiper-button-next, body.careers #main .careers-sect-6 .talent-swiper .swiper-button-prev {
        bottom: auto;
        top: 25px;
        border: 1px solid #474A4A;
        background: #1B1C1C;
        color: #fff !important;
        opacity: 1 !important;
        cursor: pointer !important;
        pointer-events: auto !important; }
    body.careers #main .careers-sect-6 .tab-content p {
      color: #fff; }
    body.careers #main .careers-sect-6 .card {
      cursor: pointer; }
      body.careers #main .careers-sect-6 .card.swiper-slide-active img {
        opacity: 1 !important; }
      body.careers #main .careers-sect-6 .card.swiper-slide-active .talent-name {
        color: #fff; }
      body.careers #main .careers-sect-6 .card.swiper-slide img {
        opacity: 0.5; }
      body.careers #main .careers-sect-6 .card .talent-img {
        height: auto;
        width: 100%;
        object-fit: cover;
        border-radius: 20px; }
      body.careers #main .careers-sect-6 .card .talent-name {
        text-transform: uppercase;
        color: #A1A2A2; }
      body.careers #main .careers-sect-6 .card .talent-position {
        text-transform: uppercase;
        color: #676868; }
  body.careers #main .careers-sect-7 {
    padding: 100px 0; }
    body.careers #main .careers-sect-7 .content-sect-7 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      @media (max-width: 767px) {
        body.careers #main .careers-sect-7 .content-sect-7 {
          -ms-flex-order: 1;
              order: 1; } }
    body.careers #main .careers-sect-7 .card {
      border: 1px solid #EDEDED;
      padding: 30px;
      transition: 0.3s;
      height: 275px;
      margin-bottom: 30px; }
      @media (max-width: 1023px) {
        body.careers #main .careers-sect-7 .card {
          height: 350px; } }
      body.careers #main .careers-sect-7 .card li {
        list-style-type: circle; }
      body.careers #main .careers-sect-7 .card:hover {
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
        border: none;
        border-top: 10px solid #079B3A; }
  body.careers #main .careers-sect-8 {
    padding: 100px 0;
    background: #F8F8F8;
    position: relative; }
    @media (max-width: 767px) {
      body.careers #main .careers-sect-8 {
        padding: 50px 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column; } }
    body.careers #main .careers-sect-8 > img {
      position: absolute;
      border-radius: 0 30px 30px 0;
      left: 0;
      top: -50px;
      height: 448px;
      width: 46%;
      object-fit: cover; }
      @media (max-width: 767px) {
        body.careers #main .careers-sect-8 > img {
          position: relative;
          -ms-flex-item-align: start;
              align-self: flex-start;
          width: 90%;
          height: 250px;
          top: 0;
          margin-bottom: 30px; } }
  body.careers #main .careers-sect-9 {
    padding: 50px 0; }
    body.careers #main .careers-sect-9 .card {
      border: 1px solid #EDEDED;
      padding: 30px;
      transition: 0.3s;
      height: 275px;
      margin-bottom: 30px; }
      @media (max-width: 1023px) {
        body.careers #main .careers-sect-9 .card {
          height: 350px; } }
      body.careers #main .careers-sect-9 .card li {
        list-style-type: circle; }
      body.careers #main .careers-sect-9 .card:hover {
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
        border: none;
        border-top: 10px solid #079B3A; }
  body.careers #main .careers-sect-10 {
    background: #F8F8F8;
    padding: 50px 0; }
    body.careers #main .careers-sect-10 .blog-swiper {
      padding: 50px 0 !important;
      margin: 0 20px !important; }
      body.careers #main .careers-sect-10 .blog-swiper .blog-swiper-button-prev,
      body.careers #main .careers-sect-10 .blog-swiper .blog-swiper-button-next {
        bottom: auto !important;
        top: 25px !important;
        pointer-events: auto !important;
        opacity: 1 !important;
        cursor: pointer !important; }
    body.careers #main .careers-sect-10 .blog-button-wrapper {
      z-index: 1000;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: end;
          justify-content: flex-end;
      margin-top: -51px;
      height: 40px;
      width: 100%; }
      @media (max-width: 767px) {
        body.careers #main .careers-sect-10 .blog-button-wrapper {
          margin-top: 0; } }

body.careers.careers-detail-sticky header .hero {
  position: absolute;
  top: 150px;
  right: 0;
  width: 43%; }
  body.careers.careers-detail-sticky header .hero .primary-button {
    transition: none !important; }
  body.careers.careers-detail-sticky header .hero:hover .primary-button {
    transition: all 150ms ease-in-out !important; }
  body.careers.careers-detail-sticky header .hero.overlay {
    opacity: 0.35; }
    body.careers.careers-detail-sticky header .hero.overlay .primary-button {
      background: #B4B5B5;
      border-color: #B4B5B5 !important; }
  body.careers.careers-detail-sticky header .hero .main-img {
    height: 450px;
    width: 100%;
    object-fit: cover;
    border-radius: 0 0 0 30px;
    margin-bottom: 30px; }
    @media (max-width: 1279px) {
      body.careers.careers-detail-sticky header .hero .main-img {
        height: auto; } }
  @media (max-width: 1439px) {
    body.careers.careers-detail-sticky header .hero {
      top: 134px; } }
  @media (max-width: 1279px) {
    body.careers.careers-detail-sticky header .hero {
      top: 90px; } }
  @media (max-width: 767px) {
    body.careers.careers-detail-sticky header .hero {
      display: none; } }

body.careers.careers-detail-sticky section {
  padding-bottom: 100px; }

body.careers.careers-detail-sticky .fixed-button {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #F8F8F8;
  padding: 20px;
  display: none;
  -ms-flex-pack: center;
      justify-content: center;
  font-family: "Avenir";
  z-index: 10; }
  body.careers.careers-detail-sticky .fixed-button a {
    position: relative; }
    body.careers.careers-detail-sticky .fixed-button a:after {
      content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/arrow.png);
      position: absolute;
      right: -20px;
      top: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  @media (max-width: 767px) {
    body.careers.careers-detail-sticky .fixed-button {
      display: -ms-flexbox;
      display: flex; } }

body.careers.careers-detail-sticky .main-img-mobile {
  display: none !important; }
  @media (max-width: 767px) {
    body.careers.careers-detail-sticky .main-img-mobile {
      display: block !important;
      width: 100%;
      height: auto;
      margin-bottom: 30px; } }

body.careers.careers-detail-sticky .author-wrapper .author-name-wrapper {
  display: -ms-flexbox !important;
  display: flex !important; }

body.careers.careers-detail-fullwidth-img .hero .main-img {
  width: 100%;
  height: 750px;
  object-fit: cover; }
  @media (max-width: 1023px) {
    body.careers.careers-detail-fullwidth-img .hero .main-img {
      height: auto; } }

body.careers.careers-detail-fullwidth-img .careers-detail-content {
  max-width: 700px;
  margin: 0 auto;
  padding: 30px 0; }
  @media (max-width: 767px) {
    body.careers.careers-detail-fullwidth-img .careers-detail-content {
      padding: 30px 20px; } }

body.careers.careers-detail-fullwidth-img .card {
  border: 1px solid #EDEDED;
  padding: 30px;
  transition: 0.3s;
  height: 250px;
  margin-bottom: 30px; }
  body.careers.careers-detail-fullwidth-img .card li {
    list-style-type: circle; }
  body.careers.careers-detail-fullwidth-img .card:hover {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
    border: none;
    border-top: 10px solid #079B3A; }

body.careers.careers-detail-tab .hero .main-img {
  width: 100%;
  height: 750px;
  object-fit: cover; }
  @media (max-width: 1023px) {
    body.careers.careers-detail-tab .hero .main-img {
      height: auto; } }

body.careers.careers-detail-tab .content-tabs-wrapper {
  padding: 100px 0;
  background: #F8F8F8;
  position: relative; }
  body.careers.careers-detail-tab .content-tabs-wrapper .tab-options li {
    list-style-type: circle;
    margin-bottom: 30px;
    position: relative;
    color: #7E7E7E;
    font-size: 24px;
    cursor: pointer;
    width: 90%; }
    body.careers.careers-detail-tab .content-tabs-wrapper .tab-options li::marker {
      color: #079B3A; }
    body.careers.careers-detail-tab .content-tabs-wrapper .tab-options li.active {
      color: #0F0E0E; }
      body.careers.careers-detail-tab .content-tabs-wrapper .tab-options li.active:after {
        content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/arrow-hover-big.png);
        position: absolute;
        right: -15px;
        top: 50%;
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
      @media (max-width: 767px) {
        body.careers.careers-detail-tab .content-tabs-wrapper .tab-options li.active {
          background: #fff; }
          body.careers.careers-detail-tab .content-tabs-wrapper .tab-options li.active:after {
            content: ""; } }
  @media (max-width: 767px) {
    body.careers.careers-detail-tab .content-tabs-wrapper .tab-options {
      display: none; } }
  body.careers.careers-detail-tab .content-tabs-wrapper .tab-swiper {
    display: none;
    padding-bottom: 0 !important; }
    @media (max-width: 767px) {
      body.careers.careers-detail-tab .content-tabs-wrapper .tab-swiper {
        display: block; } }
    body.careers.careers-detail-tab .content-tabs-wrapper .tab-swiper .tab {
      border-radius: 4px;
      padding: 20px; }
      body.careers.careers-detail-tab .content-tabs-wrapper .tab-swiper .tab h4 {
        margin-bottom: 0; }
      body.careers.careers-detail-tab .content-tabs-wrapper .tab-swiper .tab.swiper-slide-active {
        background: white; }
  body.careers.careers-detail-tab .content-tabs-wrapper .tab-contents {
    position: absolute;
    top: -50px;
    right: 0;
    width: 49%;
    padding: 75px 50px;
    background: #fff;
    border-radius: 30px 0 0 30px;
    height: 450px; }
    body.careers.careers-detail-tab .content-tabs-wrapper .tab-contents .tab-content-icon {
      height: 40px; }
    @media (max-width: 1199px) {
      body.careers.careers-detail-tab .content-tabs-wrapper .tab-contents {
        height: auto; } }
    @media (max-width: 767px) {
      body.careers.careers-detail-tab .content-tabs-wrapper .tab-contents {
        position: relative;
        height: auto;
        top: 0;
        width: 100%;
        border-radius: 0;
        padding: 30px 20px; } }

body.careers .primary-button {
  border: 1px solid #EBEBEB;
  background: #fff;
  color: #079B3A;
  padding: 12px 40px 10px 10px;
  border-radius: 4px;
  position: relative;
  font-family: "Avenir";
  text-transform: uppercase; }
  body.careers .primary-button:after {
    content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/arrow.png);
    position: absolute;
    right: 15px;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
  body.careers .primary-button:hover {
    color: #fff;
    background-color: #079B3A;
    border-color: #079B3A; }
    body.careers .primary-button:hover:after {
      content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/arrow-hover.png); }
  @media (max-width: 767px) {
    body.careers .primary-button {
      width: 100%; } }

body.careers .blog-tile {
  border-radius: 30px;
  background: #fff;
  transition: 0.3s;
  margin-bottom: 40px; }
  body.careers .blog-tile:hover {
    box-shadow: 0 13px 30px rgba(0, 0, 0, 0.16); }
  body.careers .blog-tile .blog-img {
    width: 100%;
    height: auto;
    border-radius: 30px 30px 0 0;
    object-fit: cover;
    max-height: 280px; }
    @media (max-width: 1023px) {
      body.careers .blog-tile .blog-img {
        height: 150px; } }
  body.careers .blog-tile .blog-tile-wrapper {
    padding: 20px; }
    body.careers .blog-tile .blog-tile-wrapper ul li {
      color: #079B3A;
      list-style-type: circle; }
    body.careers .blog-tile .blog-tile-wrapper p {
      height: 50px;
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical; }
    body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
      @media (max-width: 1023px) {
        body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper {
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
          -ms-flex-direction: column;
              flex-direction: column; } }
      body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper .author-wrapper .author-name-wrapper .author-position {
        font-size: 11px !important;
        max-width: 230px !important; }
        @media (max-width: 1439px) {
          body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper .author-wrapper .author-name-wrapper .author-position {
            max-width: 185px !important; } }
      body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper .blog-url {
        color: #079B3A;
        padding-right: 25px;
        position: relative; }
        @media (max-width: 1023px) {
          body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper .blog-url {
            margin-top: 20px;
            -ms-flex-item-align: end;
                align-self: flex-end; } }
        body.careers .blog-tile .blog-tile-wrapper .blog-tile-bottom-wrapper .blog-url:after {
          content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/arrow.png);
          position: absolute;
          right: 0; }

body.careers h1, body.careers h2, body.careers h3, body.careers h4, body.careers h5, body.careers h6 {
  font-family: "Avenir"; }

body.careers h3 {
  font-weight: 400;
  line-height: 1.3em; }

body.careers p, body.careers span {
  font-family: "Avenir Light"; }

body.careers .video-wrapper {
  position: relative; }
  body.careers .video-wrapper.small {
    width: 70px;
    height: 70px; }
    body.careers .video-wrapper.small .play-button-wrapper {
      width: 70px;
      height: 70px; }
  body.careers .video-wrapper .play-button-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    cursor: pointer;
    /* padding: 20px; */
    background: rgba(255, 255, 255, 0.28);
    width: 100px;
    height: 100px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    border-radius: 50%;
    transition: 0.2s;
    border: 1px solid #ffffff; }
    @media (max-width: 767px) {
      body.careers .video-wrapper .play-button-wrapper {
        width: 60px;
        height: 60px; } }
    body.careers .video-wrapper .play-button-wrapper.tablet-view {
      display: none; }
      @media (max-width: 1023px) {
        body.careers .video-wrapper .play-button-wrapper.tablet-view {
          display: -ms-flexbox;
          display: flex; } }
    body.careers .video-wrapper .play-button-wrapper:hover {
      background: #079B3A !important;
      border-color: #079B3A !important; }
    body.careers .video-wrapper .play-button-wrapper img {
      position: relative;
      left: 3px; }
  body.careers .video-wrapper .video-desc {
    height: 10%;
    font-family: "Avenir";
    background: linear-gradient(0, rgba(0, 0, 0, 0.8), transparent);
    width: 100%;
    padding: 0 30px 0 50px;
    color: #d8d8d8;
    position: absolute;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    bottom: 0;
    left: 0; }
    body.careers .video-wrapper .video-desc:before {
      content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/video-info.png);
      position: absolute;
      left: 15px; }
    @media (max-width: 767px) {
      body.careers .video-wrapper .video-desc {
        height: 50px;
        font-size: 12px; } }
  body.careers .video-wrapper .bg-image {
    width: 100%; }

body.careers .author-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  body.careers .author-wrapper .author-img {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    border: 2px solid white;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 50%;
    object-fit: cover; }
  body.careers .author-wrapper .author-name-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    body.careers .author-wrapper .author-name-wrapper .author-name {
      font-weight: bold;
      font-size: 14px;
      margin-bottom: 4px; }
    body.careers .author-wrapper .author-name-wrapper .author-position {
      text-transform: uppercase;
      font-size: 12px;
      font-weight: 400; }

body.careers .pointer {
  cursor: pointer; }

body.careers .at-share-btn-elements {
  display: -ms-flexbox !important;
  display: flex !important; }

body.careers .at-share-btn {
  height: 30px;
  width: 30px;
  border-radius: 50% !important;
  border: 1px solid #EBEBEB;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

body.careers .reveal-overlay {
  background-color: #000 !important;
  z-index: 99999 !important; }
  body.careers .reveal-overlay:after {
    content: url(/ResourcePackages/Wesfarmers/assets/dist/img/careers/close-icon.png);
    width: 30px;
    height: 30px;
    position: absolute;
    color: white;
    right: 50px;
    top: 50px;
    cursor: pointer; }

body.careers .reveal {
  background-color: transparent !important;
  border: transparent !important;
  width: 100% !important; }
  @media (max-width: 479px) {
    body.careers .reveal {
      top: 130px !important;
      width: auto;
      height: auto;
      min-height: auto; } }

body.careers .close-button {
  font-size: 3em !important; }

body.careers .close-button:hover, body.careers .close-button:focus {
  color: #8a8a8a !important; }

body.careers .subtitle {
  width: 75%; }
  @media (max-width: 767px) {
    body.careers .subtitle {
      width: 100%; } }

body.careers .w-100 {
  width: 100%; }

@media (max-width: 767px) {
  body.careers .share-button-wrapper {
    display: none !important; } }

body.careers .share-button-wrapper-mobile {
  display: none !important; }
  @media (max-width: 767px) {
    body.careers .share-button-wrapper-mobile {
      display: block !important;
      margin-top: 20px; } }

body.careers .text-center {
  text-align: center; }

body.careers .text-bold {
  font-family: "Avenir Bold" !important; }

body.careers .text-light {
  font-family: "Avenir Light" !important; }

body.careers .d-flex {
  display: -ms-flexbox;
  display: flex; }

body.careers .flex-column {
  -ms-flex-direction: column;
      flex-direction: column; }

body.careers .align-items-base {
  -ms-flex-align: baseline;
      align-items: baseline; }

@media (max-width: 767px) {
  body.careers .flex-column-mobile {
    -ms-flex-direction: column;
        flex-direction: column; } }

body.careers .order-1 {
  -ms-flex-order: 1;
      order: 1; }

body.careers .order-2 {
  -ms-flex-order: 2;
      order: 2; }

body.careers .justify-center {
  -ms-flex-pack: center;
      justify-content: center; }

body.careers .align-items-center {
  -ms-flex-align: center;
      align-items: center; }

body.careers .justify-between {
  -ms-flex-pack: justify;
      justify-content: space-between; }

body.careers .d-block {
  display: block; }

body.careers .mr-none-mobile {
  margin-right: 0; }

body.careers .mr-10 {
  margin-right: 10px; }

body.careers .mr-20 {
  margin-right: 20px; }

body.careers .mb-10 {
  margin-bottom: 10px; }

@media (max-width: 767px) {
  body.careers .mb-10-mobile {
    margin-bottom: 10px; } }

body.careers .mb-20 {
  margin-bottom: 20px; }

body.careers .mb-30 {
  margin-bottom: 30px; }

body.careers .mb-40 {
  margin-bottom: 40px; }

body.careers .mb-50 {
  margin-bottom: 50px; }

body.careers .mt-10 {
  margin-top: 10px; }

body.careers .mt-20 {
  margin-top: 20px; }

body.careers .mt-30 {
  margin-top: 30px; }

body.careers .pt-30 {
  padding-top: 30px; }

body.careers .text-white {
  color: #fff; }

body.careers .text-green {
  color: #079B3A; }

body.careers .text-uppercase {
  text-transform: uppercase; }

body.careers .card ul li {
  font-weight: bold; }
  body.careers .card ul li::marker {
    color: #079B3A; }

body.careers .useful-page {
  margin-top: 20px; }

body.careers .swiper-container-horizontal > .swiper-pagination-bullets, body.careers .swiper-pagination-custom, body.careers .swiper-pagination-fraction {
  bottom: 23px; }

body.careers .swiper-container {
  padding-bottom: 30px; }

body.careers .swiper-button-next, body.careers .swiper-button-prev {
  color: #079B3A !important;
  bottom: 12px;
  top: auto;
  border: 1px solid #EBEBEB;
  width: auto;
  padding: 10px 12px;
  height: auto; }

body.careers .swiper-button-prev, body.careers .swiper-container-rtl .swiper-button-next {
  right: 40px;
  left: auto; }

body.careers .swiper-button-next, body.careers .swiper-container-rtl .swiper-button-prev {
  right: 0;
  left: auto; }

body.careers .swiper-button-next:after, body.careers .swiper-button-prev:after {
  font-size: 12px !important;
  font-weight: bold !important; }

body.careers .swiper-pagination-bullet-active {
  background: #079B3A !important; }

#careers-corporate .grey-panel {
  margin: 0;
  border-bottom: 1px solid #3c3e3e; }
  #careers-corporate .grey-panel > .large-collapse {
    margin-top: 0;
    margin-bottom: 0; }

.quote-intro {
  margin: 0 auto;
  padding-bottom: 25px; }

.career-panels .arrow-link-right {
  font-family: "Stolzl W00 Bold";
  padding-right: 25px;
  margin-top: 15px;
  color: #fff;
  display: inline-block;
  position: relative;
  margin: 0;
  transition: color .3s;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.875em;
  letter-spacing: 0.01875em; }
  .career-panels .arrow-link-right:after {
    content: "";
    font-family: 'WesfarmersIcons';
    font-size: 20px;
    color: #00e862;
    display: block;
    position: absolute;
    right: 0px;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.career-panels a:hover .arrow-link-right, .career-panels a:focus .arrow-link-right {
  color: #00e862; }

.career-panels {
  margin-top: 20px; }
  .career-panels .career-panel {
    margin: 0 auto;
    padding: 20px 0;
    position: relative; }
    .career-panels .career-panel a > .title > h2 {
      display: block;
      font-family: "Stolzl W00 Bold";
      font-size: 1.125em;
      line-height: 1;
      text-transform: uppercase;
      margin-top: 10px; }

@media screen and (min-width: 48em) {
  .career-panels .career-panel {
    position: relative;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
    .career-panels .career-panel a > .title {
      position: absolute;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      width: 40%; }
      .career-panels .career-panel a > .title > h2 {
        padding: 15px 20px;
        background-color: #00e862;
        font-size: 1.5em;
        color: #2c2f2f; }
      .career-panels .career-panel a > .title > .arrow-link-right {
        position: absolute;
        bottom: -20px;
        padding: 10px 20px; } }

@media screen and (min-width: 64em) {
  .career-panels .career-panel {
    display: inline-block; }
    .career-panels .career-panel a > .title > h2 {
      padding: 36px 20px;
      background-color: #00e862;
      font-size: 1.875em;
      color: #2c2f2f; }
    .career-panels .career-panel a > .title > .arrow-link-right {
      position: absolute;
      bottom: -20px;
      padding: 10px 20px; } }

@media screen and (min-width: 90em) {
  .career-panels .career-panel a > .title {
    width: 42%; }
    .career-panels .career-panel a > .title > h2 {
      font-size: 2.25em; }
    .career-panels .career-panel a > .title > .arrow-link-right {
      font-size: 1em; } }

@media screen and (min-width: 118.75em) {
  .career-panels {
    margin-top: 80px;
    margin-bottom: 60px; } }

.main .careers .columns {
  margin: 0 auto; }

.careers + .grey-panel {
  margin-bottom: 0; }

.careers-panel {
  border-top: 1px solid #cacbcb;
  padding-top: 35px; }

.highlight-panel.grey-panel {
  margin-top: 0;
  background-color: #2c2f2f;
  color: #cacbcb;
  position: relative; }
  @media screen and (min-width: 48em) {
    .highlight-panel.grey-panel {
      padding-top: 3.125em; } }
  .highlight-panel.grey-panel h2:first-of-type {
    margin-top: 30px;
    color: #00e862;
    font-weight: bold; }
  .highlight-panel.grey-panel h3,
  .highlight-panel.grey-panel h4,
  .highlight-panel.grey-panel h5,
  .highlight-panel.grey-panel h6 {
    color: #eaeaea; }
  .highlight-panel.grey-panel .columns {
    z-index: 200; }
  .highlight-panel.grey-panel:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 50%;
    height: 100%;
    z-index: 100;
    background: url(../img/stroke-svg.svg) no-repeat;
    background-size: cover; }

@media screen and (max-width: 48em) {
  .highlight-panel.grey-panel .row:first-of-type {
    margin-top: 0; } }

@media screen and (min-width: 64em) {
  .content-page .wysiwyg {
    padding-left: 0;
    padding-right: 0; }
  article {
    margin-left: 0;
    margin-right: 0; } }

@media screen and (min-width: 90em) {
  .highlight-panel.grey-panel h2:first-of-type {
    margin-top: 50px; } }

.list-image-copy {
  margin-bottom: 40px; }
  @media screen and (min-width: 90em) {
    .list-image-copy {
      margin-left: 6.25em; } }
  .list-image-copy .panel {
    border: none;
    margin: 40px auto;
    max-width: 450px; }
    @media screen and (min-width: 48em) {
      .list-image-copy .panel {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
            flex-flow: row;
        max-width: 1100px;
        margin-left: 0;
        margin-right: 0; } }
    @media screen and (min-width: 64em) {
      .list-image-copy .panel {
        margin: 40px 3.125em; } }
    @media screen and (min-width: 90em) {
      .list-image-copy .panel {
        margin-left: auto;
        margin-right: auto; } }
    .list-image-copy .panel .image > img {
      display: block; }
    @media screen and (min-width: 48em) {
      .list-image-copy .panel .image {
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
        padding-right: 1.25em;
        max-width: 450px; } }
    @media screen and (min-width: 90em) {
      .list-image-copy .panel .image {
        padding-right: 2.5em; } }
    .list-image-copy .panel .copy {
      border: none;
      padding: 20px 0 1.25rem;
      font-size: 0.96875em;
      padding-top: 20px; }
      .list-image-copy .panel .copy a.more-link {
        display: inline-block;
        white-space: nowrap;
        text-decoration: underline;
        display: inline;
        color: #616363;
        margin: 0; }
      .list-image-copy .panel .copy h2 {
        margin-bottom: 10px; }
      .list-image-copy .panel .copy h3 {
        color: #2c2f2f;
        font-family: 'Heuristica';
        font-weight: normal;
        font-size: 1.125em; }
      .list-image-copy .panel .copy p {
        color: #616363; }
      @media screen and (min-width: 30em) {
        .list-image-copy .panel .copy {
          margin-left: auto;
          margin-right: auto;
          padding-left: 0;
          padding-right: 0; } }
      @media screen and (min-width: 48em) {
        .list-image-copy .panel .copy {
          display: -ms-flexbox;
          display: flex;
          -ms-flex: 1 1 50%;
              flex: 1 1 50%;
          padding-left: 1.25em;
          border-bottom: #cacbcb 1px solid; } }
      @media screen and (min-width: 64em) {
        .list-image-copy .panel .copy {
          position: relative; }
          .list-image-copy .panel .copy h3 {
            font-size: 1.1875em;
            margin-bottom: 30px; }
          .list-image-copy .panel .copy > .wrapper {
            max-height: none;
            min-height: 0;
            min-height: auto;
            margin-bottom: 40px;
            margin-right: auto;
            margin: initial;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
      @media screen and (min-width: 80em) {
        .list-image-copy .panel .copy > .wrapper {
          padding-right: 1.25em;
          padding-left: 1.25em; }
        .list-image-copy .panel .copy h3 {
          font-size: 1.25em;
          line-height: 1.2em;
          margin-bottom: 35px; }
        .list-image-copy .panel .copy p {
          color: #616363; } }

.profile.detail .image {
  margin: 0 auto 25px;
  width: 235px; }

.our-businesses .page-intro > .wysiwyg {
  padding-bottom: 0; }

.our-businesses .wrapper {
  padding: 0 20px 20px;
  margin-bottom: 55px; }
  .our-businesses .wrapper .row-group {
    margin: 40px -10px 0;
    margin-left: -10px;
    margin-right: -10px; }
    .our-businesses .wrapper .row-group > .wysiwyg {
      width: 100%;
      padding-bottom: 0;
      margin-top: 0; }
    .our-businesses .wrapper .row-group h3 {
      display: block;
      font-family: 'Stolzl W00 Medium';
      font-size: 1.0625em;
      text-transform: uppercase;
      text-align: center;
      border-top: 1px solid #cacbcb;
      padding-top: 20px;
      margin: 0 0 20px; }
      .our-businesses .wrapper .row-group h3 a {
        text-decoration: none; }
        .our-businesses .wrapper .row-group h3 a:after {
          content: "";
          font-family: 'WesfarmersIcons';
          font-size: 1.0625em;
          color: #00e862;
          padding-left: 10px; }
        .our-businesses .wrapper .row-group h3 a:hover, .our-businesses .wrapper .row-group h3 a:focus, .our-businesses .wrapper .row-group h3 a:active {
          text-decoration: none; }
          .our-businesses .wrapper .row-group h3 a:hover:after, .our-businesses .wrapper .row-group h3 a:focus:after, .our-businesses .wrapper .row-group h3 a:active:after {
            color: #0B8651; }
    .our-businesses .wrapper .row-group .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
      .our-businesses .wrapper .row-group .columns > .panel {
        margin: 10px;
        min-height: inherit;
        height: auto !important; }
    .our-businesses .wrapper .row-group .row-header {
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
      max-width: 100%; }
      .our-businesses .wrapper .row-group .row-header .panel .image {
        max-width: 50%;
        margin: 0 auto;
        min-height: inherit;
        height: auto !important; }

.our-businesses .wrapper:first-of-type {
  margin-bottom: 0; }

@media screen and (min-width: 30em) {
  .our-businesses .page-intro > .wysiwyg {
    padding-bottom: 0; }
  .our-businesses .wrapper .row-group .columns {
    -ms-flex: 0 0 33.3333%;
        flex: 0 0 33.3333%;
    max-width: 33.3333%;
    padding-left: 0;
    padding-right: 0; }
  .our-businesses .wrapper .row-group .row-header {
    -ms-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
    max-width: 100%; }
    .our-businesses .wrapper .row-group .row-header .panel .image {
      max-width: 220px;
      margin: 0;
      min-height: inherit;
      height: auto !important; }
  .our-businesses .wrapper .row-group h3 {
    text-align: left; } }

@media screen and (min-width: 48em) {
  .our-businesses .page-intro > .wysiwyg {
    padding-bottom: 0; }
  .our-businesses .wrapper .row-group {
    margin-top: 0;
    padding: 0 30px; }
    .our-businesses .wrapper .row-group .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%;
      padding-left: 0;
      padding-right: 0; }
      .our-businesses .wrapper .row-group .columns .wysiwyg {
        padding-bottom: 0; }
    .our-businesses .wrapper .row-group .row-header {
      -ms-flex: 1 1 100% !important;
          flex: 1 1 100% !important;
      max-width: 100% !important; }
      .our-businesses .wrapper .row-group .row-header .panel .image {
        max-width: 220px;
        min-height: inherit;
        height: auto !important; }
    .our-businesses .wrapper .row-group h3,
    .our-businesses .wrapper .row-group:first-child h3 {
      display: block;
      padding-top: 20px;
      margin: 20px 10px 20px;
      text-align: left;
      border-top: 1px solid #cacbcb; }
    .our-businesses .wrapper .row-group:first-child h3 {
      margin-top: 0px; } }

@media screen and (min-width: 64em) {
  .our-businesses .row-group .wysiwyg {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    margin-left: 0;
    margin-right: 0; }
  .our-businesses .wrapper .row-group .columns {
    -ms-flex: 0 0 20%;
        flex: 0 0 20%;
    max-width: 20%;
    padding-left: 0;
    padding-right: 0; }
    .our-businesses .wrapper .row-group .columns .wysiwyg {
      padding-bottom: 0; }
  .our-businesses .wrapper .row-group h3 {
    font-size: 1.1875em; } }

@media screen and (min-width: 80em) {
  .our-businesses .wrapper {
    padding: 55px 55px 0 55px;
    margin-bottom: 100px; }
    .our-businesses .wrapper .row-group {
      margin-left: auto;
      margin-right: auto; }
      .our-businesses .wrapper .row-group .columns {
        -ms-flex: 0 0 16.6666%;
            flex: 0 0 16.6666%;
        max-width: 16.6666%;
        padding-left: 0;
        padding-right: 0; }
  .our-businesses .wrapper:first-of-type {
    margin-bottom: 20px; } }

@media screen and (min-width: 90em) {
  .our-businesses .wrapper .row-group h3 {
    font-size: 1.375em; } }

@media screen and (min-width: 90em) {
  .our-businesses .wrapper .row-group h3 {
    margin-top: 25px;
    font-size: 1.5em; } }

@media screen and (min-width: 118.75em) {
  .our-businesses .wrapper .row-group h3 {
    margin-top: 40px; } }

.our-businesses h3 {
  display: block;
  width: 100%;
  padding: 0;
  margin: 35px 0 55px 0; }

.our-businesses .panel {
  border-bottom: none;
  margin-bottom: 0; }

.our-businesses .featured {
  padding-top: 0;
  margin-top: 10px;
  border-top: 1px solid #cacbcb; }
  .our-businesses .featured h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    padding-top: 10px; }
  @media screen and (min-width: 30em) {
    .our-businesses .featured {
      border: none; }
      .our-businesses .featured h2 {
        border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 30em) and (max-width: 47.9375em) {
  .our-businesses {
    margin: 0 10px; } }

@media screen and (min-width: 0\0) {
  .featured {
    width: 100%; }
    .featured .row .column, .featured .row .columns {
      width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 30em) {
  .our-businesses .grid {
    width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 79.9375em) {
  .share-promo .share-price .stock-index {
    padding-right: 30px !important; } }

@media screen and (min-width: 0\0) and (min-width: 80em) {
  .our-businesses .grid {
    width: 100%; }
    .our-businesses .grid .share-promo {
      width: 20%; }
    .our-businesses .grid .tile-links {
      width: 38%; }
  .featured .row .column, .featured .row .columns {
    width: 33%; } }

@media screen and (min-width: 48em) {
  .our-divisions article.wysiwyg {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .our-divisions article.wysiwyg {
    margin-left: 0;
    margin-right: 0; } }

.our-divisions .page-intro {
  margin-bottom: 0; }

.our-divisions .intro-para {
  padding: 20px 0 0 0;
  /* @include breakpoint(large) {
			//padding: 50px 100px 0 100px;
			padding: 50px 0 0 0;
		}

		@include breakpoint(xlarge) { 
			padding: 50px 0 0 0;			
		} */ }
  @media screen and (min-width: 48em) {
    .our-divisions .intro-para {
      padding: 50px 0 0 0; } }

.our-divisions .biz-group {
  text-align: left;
  margin-top: 20px;
  border-top: 12px solid #eaeaea; }
  .our-divisions .biz-group:first-child {
    margin-top: 0; }
  .our-divisions .biz-group .panel {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  .our-divisions .biz-group:last-child {
    padding-bottom: 40px; }
    @media screen and (min-width: 64em) {
      .our-divisions .biz-group:last-child {
        padding-bottom: 60px; } }
    @media screen and (min-width: 80em) {
      .our-divisions .biz-group:last-child {
        padding-bottom: 90px; } }
    @media screen and (min-width: 90em) {
      .our-divisions .biz-group:last-child {
        padding-bottom: 130px; } }

.our-divisions .biz-item {
  padding: 10px 0 45px 0; }
  .our-divisions .biz-item:before {
    content: "";
    display: table;
    clear: both; }
  .our-divisions .biz-item:after {
    content: "";
    display: table;
    clear: both; }
  .our-divisions .biz-item h3 {
    width: 100%;
    display: block;
    margin-top: 20px; }
  .our-divisions .biz-item p {
    width: 100%;
    float: left;
    padding-right: 0; }
    @media screen and (min-width: 48em) {
      .our-divisions .biz-item p {
        width: 50%;
        float: left;
        padding-right: 25px; } }
    @media screen and (min-width: 64em) {
      .our-divisions .biz-item p {
        width: 50%;
        position: relative;
        float: left; } }
  .our-divisions .biz-item .biz-logo {
    width: 100%;
    float: left;
    text-align: left; }
    @media screen and (min-width: 48em) {
      .our-divisions .biz-item .biz-logo {
        width: 50%;
        float: right;
        text-align: right; } }
    .our-divisions .biz-item .biz-logo img {
      -ms-transform: none;
          transform: none; }
  .our-divisions .biz-item a {
    width: 100%;
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    color: #616363;
    text-decoration: none;
    text-transform: uppercase;
    text-align: left;
    font-family: "Stolzl W00 Book";
    font-size: 0.875em; }
    @media screen and (min-width: 64em) {
      .our-divisions .biz-item a {
        padding-top: 25px;
        font-size: 0.75em; } }
    .our-divisions .biz-item a:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 1.25em;
      color: #00e862;
      margin: 0;
      padding-left: 15px; }
      @media screen and (min-width: 64em) {
        .our-divisions .biz-item a:after {
          content: "";
          font-family: 'WesfarmersIcons';
          font-size: 1.125em;
          color: #00e862; } }
    .our-divisions .biz-item a:hover, .our-divisions .biz-item a:active {
      text-decoration: none;
      color: #2c2f2f; }
      .our-divisions .biz-item a:hover:after, .our-divisions .biz-item a:active:after {
        color: #0B8651; }
    @media screen and (min-width: 48em) {
      .our-divisions .biz-item a {
        text-align: right; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 63.9375em) {
  .our-divisions .intro-para {
    padding: 50px 0 0 0; } }

.asx-announce .page-intro {
  margin-bottom: 0; }

.asx-announce .columns {
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0; }
  @media screen and (min-width: 48em) {
    .asx-announce .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.asx-announce .asx-header {
  position: relative;
  display: block;
  width: 100%;
  height: 65px; }
  .asx-announce .asx-header h2 {
    display: inline;
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    padding: 15px 0;
    margin: 0; }

.asx-announce .asx-results {
  padding-bottom: 55px; }

@media screen and (min-width: 48em) {
  .asx-announce .date-group li {
    display: table-row; }
  .asx-announce .date-group li > span {
    display: table-cell;
    padding-right: 2.1875em; }
  .asx-announce .date-group li > a {
    display: table-cell; } }

.asx-announce button {
  display: inline;
  position: absolute;
  right: 0;
  top: 0;
  font-family: "Stolzl W00 Bold";
  background: none;
  color: #2c2f2f;
  cursor: pointer;
  text-align: left;
  text-transform: uppercase;
  margin: 0;
  padding: 15px 7px;
  outline: none;
  border: 1px solid transparent;
  width: 150px; }
  @media screen and (min-width: 48em) {
    .asx-announce button {
      padding: 25px 7px;
      border: 1px solid #2c2f2f; } }
  .asx-announce button:after {
    content: '\e804';
    font-family: 'WesfarmersIcons';
    font-size: 0.875em;
    color: #2c2f2f;
    display: block;
    text-align: center;
    position: absolute;
    top: 50%;
    right: 0;
    width: 30px;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    transition: all 150ms ease-in-out;
    -ms-transform-origin: 50% 50% 0;
        transform-origin: 50% 50% 0;
    transition: 0.5s all;
    line-height: 0; }
  .asx-announce button.active:after {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
  .asx-announce button:hover, .asx-announce button:focus {
    color: #2c2f2f;
    background-color: transparent; }

.asx-announce .dropdown-pane {
  display: inline-block;
  padding: 0;
  margin: 0;
  width: 150px;
  border: none; }
  @media screen and (min-width: 48em) {
    .asx-announce .dropdown-pane {
      width: 150px; } }
  @media screen and (min-width: 64em) {
    .asx-announce .dropdown-pane {
      width: 150px; } }
  .asx-announce .dropdown-pane ul {
    list-style: none;
    margin: 0;
    margin-top: -1px;
    font-size: 0.875em;
    border: 1px solid #363a45; }
    .asx-announce .dropdown-pane ul li {
      font-family: "Heuristica";
      border-bottom: 1px solid #363a45;
      padding: 0;
      margin: 0; }
      .asx-announce .dropdown-pane ul li:last-child {
        border-bottom: none; }
      .asx-announce .dropdown-pane ul li a {
        display: block;
        width: 100%;
        padding: 10px 7px;
        color: #363a45; }
        .asx-announce .dropdown-pane ul li a:hover, .asx-announce .dropdown-pane ul li a:active {
          font-weight: bold; }

@media screen and (max-width: 30em) {
  .asx-announce .dropdown-pane {
    width: 100%; } }

article .list-links {
  list-style: none;
  margin: 0 0 30px 0; }
  article .list-links > li {
    padding: 0; }
    article .list-links > li > a {
      display: block;
      padding: 8px 0; }
      article .list-links > li > a > span {
        font-size: 0.8125em;
        color: #616363; }
      article .list-links > li > a:hover {
        text-decoration: underline;
        color: #000; }

article > .list-links:first-of-type {
  border-top: 1px solid #2c2f2f; }

article > .accordion .list-list:list-links {
  border-top: none; }

.contact > .row {
  padding-top: 35px; }

.contact .hq-details p {
  margin-bottom: 0;
  line-height: 1.6em;
  margin-bottom: 15px;
  line-height: 1.45em; }
  @media screen and (min-width: 48em) {
    .contact .hq-details p {
      margin-bottom: 0;
      line-height: 1.45em; } }
  @media screen and (min-width: 64em) {
    .contact .hq-details p {
      line-height: 1.6em; } }

@media screen and (min-width: 64em) {
  .contact .hq-details .row .column .wysiwyg, .contact .hq-details .row .columns .wysiwyg {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .contact .hq-details .row .column .wysiwyg, .contact .hq-details .row .columns .wysiwyg {
    margin-left: 0;
    margin-right: 0; } }

.contact .hq-details .wysiwyg {
  padding-bottom: 0; }
  @media screen and (min-width: 48em) {
    .contact .hq-details .wysiwyg {
      padding-bottom: 0; } }

.contact .hero {
  margin: 45px 0 0 0;
  padding: 0;
  margin: 20px 0 0 0; }
  @media screen and (min-width: 48em) {
    .contact .hero {
      margin: 45px 0 0 0; } }
  .contact .hero .jump-link {
    margin: 0 auto;
    margin-bottom: 50px; }
    .contact .hero .jump-link > a {
      position: relative;
      text-decoration: none; }
      .contact .hero .jump-link > a:hover {
        color: #2c2f2f; }
      .contact .hero .jump-link > a:after {
        position: absolute;
        top: 0;
        left: calc(50% - 14px);
        margin-top: 20px;
        font-size: 1.75em;
        text-align: center;
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 14;
        color: #00e862;
        text-decoration: none; }
      .contact .hero .jump-link > a > span {
        text-decoration: underline; }
        .contact .hero .jump-link > a > span:hover, .contact .hero .jump-link > a > span:focus, .contact .hero .jump-link > a > span:active {
          color: #2c2f2f;
          text-decoration: underline; }

.contact .send-message fieldset > div,
.contact .send-message .sf_colsIn > div {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent; }

.contact .send-message label {
  font-family: "Stolzl W00 Book";
  font-size: 0.6875em;
  text-transform: uppercase;
  color: #616363;
  padding-top: 15px; }

.contact .send-message input,
.contact .send-message select {
  font-family: "Heuristica";
  outline: 0;
  border: 0;
  border-bottom: 1px solid #2c2f2f;
  letter-spacing: 0;
  padding: 0;
  margin: 0; }
  .contact .send-message input:focus,
  .contact .send-message select:focus {
    color: #616363;
    border-color: #616363; }
    .contact .send-message input:focus:after,
    .contact .send-message select:focus:after {
      border-bottom: 1px solid pink; }
  .contact .send-message input:not(:focus):invalid,
  .contact .send-message select:not(:focus):invalid {
    color: #616363;
    border-color: #616363; }

.contact .send-message select {
  background: none; }
  .contact .send-message select:after {
    content: "";
    font-family: 'WesfarmersIcons';
    font-size: 14;
    color: #616363; }

.contact .send-message .error {
  color: #ec671c; }
  .contact .send-message .error label {
    color: #ec671c; }
  .contact .send-message .error input {
    color: #ec671c;
    border-color: #ec671c; }
    .contact .send-message .error input:not(:focus) {
      color: #ec671c;
      border-color: #ec671c; }

.contact .send-message input[type='text'], .contact .send-message input[type='password'], .contact .send-message input[type='date'], .contact .send-message input[type='datetime'], .contact .send-message input[type='datetime-local'], .contact .send-message input[type='month'], .contact .send-message input[type='week'], .contact .send-message input[type='email'], .contact .send-message input[type='number'], .contact .send-message input[type='search'], .contact .send-message input[type='tel'], .contact .send-message input[type='time'], .contact .send-message input[type='url'], .contact .send-message input[type='color'], .contact .send-message textarea {
  padding: 0;
  box-shadow: none; }

.contact .send-message textarea {
  min-height: 395px;
  padding: 20px;
  margin: 0;
  margin-top: 35px;
  line-height: 1.3em; }
  @media screen and (min-width: 48em) {
    .contact .send-message textarea {
      margin-top: 0; } }

.contact .send-message .btn-submit {
  float: right;
  float: left; }
  @media screen and (min-width: 48em) {
    .contact .send-message .btn-submit {
      float: right; } }

.contact .send-message .tnc {
  font-size: 0.875em;
  line-height: 1.45em;
  padding: 35px 0; }
  .contact .send-message .tnc a {
    text-decoration: underline; }
    .contact .send-message .tnc a:hover, .contact .send-message .tnc a:focus {
      text-decoration: underline; }
  .contact .send-message .tnc input[type='checkbox'] {
    display: none; }
    .contact .send-message .tnc input[type='checkbox'] ~ span {
      display: block;
      position: relative;
      padding-left: 35px; }
    .contact .send-message .tnc input[type='checkbox'] ~ span:before {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      padding-right: .9em;
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 1.5625em;
      color: #616363; }
  .contact .send-message .tnc input[type='checkbox']:checked ~ span:before {
    padding-right: .9em;
    content: ""; }

.contact .business-contact {
  border-top: 1px solid #cacbcb;
  margin-top: 35px; }

.contact .contact-item {
  font-size: 0.75em;
  padding-top: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid #cacbcb;
  font-size: 0.875em; }
  @media screen and (min-width: 48em) {
    .contact .contact-item {
      font-size: 0.75em; } }
  .contact .contact-item:last-child {
    border-bottom: 1px solid transparent; }
  .contact .contact-item p {
    margin-bottom: 0;
    line-height: 1.4em;
    margin-bottom: 15px;
    line-height: 1.6em; }
    @media screen and (min-width: 48em) {
      .contact .contact-item p {
        margin-bottom: 0;
        line-height: 1.4em; } }
  @media screen and (min-width: 48em) {
    .contact .contact-item .columns {
      padding: 0; } }
  .contact .contact-item a {
    text-decoration: underline; }

.contact .accordion {
  margin-bottom: 60px; }

.contact .accordion-content > .row {
  margin-left: 0;
  margin-right: 0; }

.accordion {
  margin-bottom: 40px;
  border-color: transparent; }
  .accordion .accordion-item {
    list-style: none;
    padding-left: 0; }
    .accordion .accordion-item:before {
      display: none; }
    .accordion .accordion-item .accordion-title {
      position: relative;
      border-color: transparent;
      border-bottom-color: #cacbcb;
      color: #2c2f2f;
      padding: 8px 0;
      margin: 0;
      background-color: transparent;
      text-decoration: none; }
      .accordion .accordion-item .accordion-title:before {
        content: '\e804';
        font-family: 'WesfarmersIcons';
        font-size: 0.875em;
        color: #616363;
        display: block;
        text-align: center;
        position: absolute;
        top: 50%;
        right: 0;
        width: 30px;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
        transition: all 150ms ease-in-out;
        -ms-transform-origin: 50% 50% 0;
            transform-origin: 50% 50% 0;
        transition: all 150ms ease-in-out;
        -ms-transform-origin: 50% 37% 0;
        transform-origin: 50% 37% 0;
        line-height: 0;
        margin-top: 0; }
      .accordion .accordion-item .accordion-title > h2, .accordion .accordion-item .accordion-title > h3 {
        padding: 0;
        margin: 0;
        font-family: 'Heuristica';
        font-size: 1.5em;
        font-weight: normal;
        text-decoration: none; }
    .accordion .accordion-item:hover .accordion-title, .accordion .accordion-item:focus .accordion-title {
      border-bottom-color: #2c2f2f;
      color: #2c2f2f; }
      .accordion .accordion-item:hover .accordion-title > h2, .accordion .accordion-item:hover .accordion-title > h3, .accordion .accordion-item:focus .accordion-title > h2, .accordion .accordion-item:focus .accordion-title > h3 {
        color: #2c2f2f; }
    .accordion .accordion-item.is-active .accordion-title {
      border-bottom-color: #2c2f2f; }
      .accordion .accordion-item.is-active .accordion-title:before {
        color: #2c2f2f;
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
      .accordion .accordion-item.is-active .accordion-title > h2, .accordion .accordion-item.is-active .accordion-title > h3 {
        color: #2c2f2f; }
    .accordion .accordion-item .accordion-content {
      padding-left: 0;
      padding-right: 0; }
      .accordion .accordion-item .accordion-content .list-columns {
        list-style: none; }
        .accordion .accordion-item .accordion-content .list-columns > li {
          font-size: 0.875em;
          display: inline-block;
          margin: 0;
          padding: 10px 0;
          width: 100%;
          text-align: center; }
          .accordion .accordion-item .accordion-content .list-columns > li:before {
            display: none; }
          @media screen and (min-width: 48em) {
            .accordion .accordion-item .accordion-content .list-columns > li {
              width: 49.5555%; } }
          @media screen and (min-width: 64em) {
            .accordion .accordion-item .accordion-content .list-columns > li {
              width: 32.2222%; } }
          @media screen and (min-width: 80em) {
            .accordion .accordion-item .accordion-content .list-columns > li {
              width: 32.2222%; } }

@media screen and (min-width: 48em) {
  .accordion-content {
    font-size: 1.0em; }
    .accordion-content p {
      font-size: 1.0em; }
    .accordion-content li {
      font-size: 1.0em; } }

@media screen and (min-width: 80em) {
  .accordion .accordion-item .accordion-title > h2, .accordion .accordion-item .accordion-title > h3 {
    font-size: 1.5625em; } }

@media screen and (min-width: 90em) {
  .accordion .accordion-item .accordion-title > h2, .accordion .accordion-item .accordion-title > h3 {
    font-size: 1.625em; } }

.news-media .panel {
  position: relative;
  background-color: #eaeaea; }
  .news-media .panel.text-only > a:hover .image:before,
  .news-media .panel.text-only a:focus .image:before, .news-media .panel.twitter > a:hover .image:before,
  .news-media .panel.twitter a:focus .image:before {
    display: none; }
  .news-media .panel.text-only > a:hover .image img,
  .news-media .panel.text-only a:focus .image img, .news-media .panel.twitter > a:hover .image img,
  .news-media .panel.twitter a:focus .image img {
    -ms-transform: none;
        transform: none; }
  .news-media .panel .title {
    display: block;
    min-height: auto; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      background-color: #eaeaea;
      float: none;
      max-width: none;
      padding: 20px;
      font-family: "Stolzl W00 Bold";
      line-height: 1.1;
      letter-spacing: -0.00313em;
      text-transform: uppercase;
      margin-bottom: 0; }
  .news-media .panel .image {
    margin-bottom: 0; }
    .news-media .panel .image > img {
      display: block; }
  .news-media .panel .copy {
    padding-top: 20px;
    background-color: #fff; }
    .news-media .panel .copy p {
      float: none;
      max-width: none;
      min-height: 50px; }

.news-media .panel.top-level {
  background-color: #2c2f2f; }
  .news-media .panel.top-level .title > h2,
  .news-media .panel.top-level .title > h3 {
    color: #fff;
    background-color: #2c2f2f; }

.news-media .panel.twitter {
  position: relative; }
  .news-media .panel.twitter .image {
    display: none;
    visibility: hidden; }
  .news-media .panel.twitter .twitter-panel {
    padding: 0 20px;
    width: 100%; }
    .news-media .panel.twitter .twitter-panel .date-time {
      font-family: "Stolzl W00 Book";
      font-size: 0.8125em;
      line-height: .9;
      letter-spacing: 0.0375em;
      text-transform: uppercase;
      color: #646464;
      font-weight: normal;
      font-family: 'Stolzl W00 Medium'; }
    .news-media .panel.twitter .twitter-panel p {
      display: block;
      font-size: 0.9375em; }
      .news-media .panel.twitter .twitter-panel p > a {
        margin: 0; }

@media screen and (min-width: 48em) {
  .news-media .large-expand {
    position: relative;
    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .news-media .panel {
    background-color: transparent;
    border: none;
    margin-bottom: 30px;
    min-height: auto; }
    .news-media .panel > a {
      display: block;
      margin: 0;
      overflow: hidden;
      width: 100%;
      height: 100%;
      position: relative; }
    .news-media .panel .title {
      position: relative;
      min-height: 100px;
      padding: 0;
      background-color: #eaeaea; }
      .news-media .panel .title > h2,
      .news-media .panel .title > h3 {
        display: block;
        position: absolute;
        bottom: 0;
        background-color: transparent; }
    .news-media .panel .image {
      background-color: #eaeaea; }
    .news-media .panel.top-level .title {
      background-color: #2c2f2f; }
    .news-media .panel.twitter {
      background-color: #eaeaea; }
      .news-media .panel.twitter .twitter-panel {
        background-color: #eaeaea; }
        .news-media .panel.twitter .twitter-panel p {
          font-size: 0.875em; }
    .news-media .panel .copy {
      border-bottom: solid 2px #00e862; } }

@media screen and (min-width: 64em) {
  .news-media .large-expand {
    position: relative;
    -ms-flex: 1 1 33.3333%;
        flex: 1 1 33.3333%; }
  .news-media .panel .title {
    min-height: 130px; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      font-size: 1.3125em; } }

@media screen and (min-width: 80em) {
  .news-media .panel {
    margin-bottom: 75px; }
    .news-media .panel.text-only .title, .news-media .panel.twitter .title {
      margin-bottom: 0; }
    .news-media .panel.twitter .twitter-panel {
      position: absolute; }
    .news-media .panel.twitter .image {
      display: block; }
      .news-media .panel.twitter .image > img {
        visibility: hidden; } }

@media screen and (min-width: 90em) {
  .news-media .panel .title {
    min-height: 160px; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      font-size: 1.5625em; }
  .news-media .panel.text-only .title, .news-media .panel.twitter .title {
    margin-bottom: 0; }
  .news-media .panel.twitter .twitter-panel p {
    padding-top: 15px;
    margin-bottom: 0;
    font-size: 1em; } }

@media screen and (min-width: 118.75em) {
  .news-media .panel .title {
    min-height: 190px; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      font-size: 1.75em;
      padding-left: 29px;
      padding-right: 29px; }
  .news-media .panel.twitter .twitter-panel p {
    font-size: 1.0625em; } }

@media screen and (max-width: 30em) {
  .large-expand {
    padding-left: 0;
    padding-right: 0; }
    .large-expand .panel > a {
      margin: 0; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .news-media .panel.twitter .title > p {
    font-size: 0.9375em; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .news-media .panel.twitter .title > h2 {
    bottom: auto; }
  .news-media .panel.twitter .twitter-panel {
    position: absolute;
    top: 80px; }
    .news-media .panel.twitter .twitter-panel > p {
      font-size: 0.9375em; }
  .news-media .panel.twitter .image {
    display: block; } }

.quote-intro,
.quote-intro > p {
  font-family: 'Heuristica';
  text-transform: none;
  color: #2c2f2f;
  font-size: 1.125em;
  line-height: 1.2; }

.quote-intro {
  border: none;
  text-align: center;
  padding-left: 0;
  max-width: none; }
  .quote-intro > p {
    display: block;
    position: relative;
    max-width: 980px;
    margin-bottom: 20px; }
    .quote-intro > p > span {
      position: relative;
      z-index: 2; }
    .quote-intro > p > span:first-of-type,
    .quote-intro > p > span:last-of-type {
      position: relative;
      z-index: 1;
      font-family: "Stolzl W00 Bold"; }
    .quote-intro > p > span:first-of-type {
      display: inline-block;
      color: #00e862;
      font-size: 50px;
      -ms-transform: translate(28%, 14%);
          transform: translate(28%, 14%); }
    .quote-intro > p > span:last-of-type {
      color: #616363; }
  .quote-intro > b {
    display: block;
    position: relative;
    max-width: 980px;
    margin-bottom: 20px; }
  .quote-intro > b:before {
    padding-left: 75px;
    display: inline-block;
    z-index: 1;
    color: #00e862;
    font-size: 3.4375em;
    font-family: "Stolzl W00 Bold";
    -ms-transform: translate(15%, 20%);
        transform: translate(15%, 20%);
    content: "\201C"; }
  .quote-intro > b:after {
    position: relative;
    z-index: -1;
    color: #616363;
    font-family: "Stolzl W00 Bold";
    content: "\201D"; }
  .quote-intro > cite {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.1; }
    .quote-intro > cite:before, .quote-intro > cite:after {
      display: none; }

@media screen and (min-width: 30em) {
  .quote-intro {
    font-size: 1.25em; } }

@media screen and (min-width: 48em) {
  .quote-intro {
    font-size: 1.3125em; } }

@media screen and (min-width: 80em) {
  .quote-intro {
    margin-top: 10px;
    font-size: 1.40625em; }
    .quote-intro > cite {
      font-size: 14px; } }

@media screen and (min-width: 90em) {
  .quote-intro {
    margin-top: 20px;
    font-size: 1.875em; }
    .quote-intro > p > span:first-of-type {
      font-size: 75px;
      -ms-transform: translate(30%, 14%);
          transform: translate(30%, 14%); } }

@media screen and (min-width: 118.75em) {
  .quote-intro {
    margin-top: 30px;
    font-size: 1.875em; }
    .quote-intro > p {
      margin-bottom: 35px; }
      .quote-intro > p > span:first-of-type {
        font-size: 110px;
        -ms-transform: translate(32%, 18%);
            transform: translate(32%, 18%); }
    .quote-intro > cite {
      font-size: 15px; } }

.date-group {
  border-top: 1px solid #2c2f2f;
  padding: 7px 0 30px 0; }
  .date-group h3 {
    font-family: "Stolzl W00 Medium";
    font-size: 0.875em;
    text-transform: uppercase; }
  .date-group ul {
    list-style: none;
    margin: 0;
    font-size: 1em; }
    .date-group ul > li {
      padding: 5px 0;
      line-height: 1.8em; }
      .date-group ul > li > span {
        vertical-align: top; }
      .date-group ul > li > span:first-of-type {
        display: block;
        width: 15%;
        text-align: left; }
      .date-group ul > li > a {
        color: #616363; }
        .date-group ul > li > a:hover, .date-group ul > li > a:active {
          color: #2c2f2f;
          text-decoration: underline; }
        .date-group ul > li > a > small,
        .date-group ul > li > a > span {
          font-size: 0.8125em;
          color: #616363; }

@media screen and (min-width: 48em) {
  .date-group ul > li .event-text {
    display: inline-block;
    width: 60%; }
  .date-group ul > li > span:first-of-type {
    display: inline-block; } }

@media screen and (min-width: 80em) {
  .date-group h3 {
    margin-bottom: 30px; }
  .date-group ul > li > span:first-of-type {
    display: inline-block; } }

@media screen and (min-width: 118.75em) {
  .date-group h3 {
    margin-bottom: 50px; }
  .date-group ul > li {
    font-size: 1.25em; }
    .date-group ul > li > span:first-of-type {
      display: inline-block; } }

.row-intro {
  margin-bottom: 0; }
  .row-intro p {
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
    font-size: 1em; }
  @media screen and (min-width: 48em) {
    .row-intro p {
      font-size: 1.0625em; } }
  @media screen and (min-width: 64em) {
    .row-intro p {
      font-size: 1.125em; } }
  @media screen and (min-width: 80em) {
    .row-intro p {
      font-size: 1.25em; } }
  @media screen and (min-width: 90em) {
    .row-intro {
      margin: 0 auto; }
      .row-intro p {
        font-size: 1.375em; } }
  @media screen and (min-width: 118.75em) {
    .row-intro {
      padding: 0 40px; }
      .row-intro p {
        font-size: 1.5em; } }

.feature-pods {
  max-width: 100%;
  margin: 60px 0;
  border-top: 1px solid #cacbcb; }
  .feature-pods > h2, .feature-pods > h3 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    margin: 0;
    padding: 20px 0; }
  .feature-pods > h2 {
    font-family: "Stolzl W00 Light";
    font-size: 0.8125em;
    text-transform: uppercase; }
  .feature-pods > .row {
    max-width: none; }
  .feature-pods .panel > a:first-child {
    margin-top: 0; }

@media screen and (min-width: 48em) {
  .feature-pods {
    margin: 60px 0 0; } }

@media screen and (min-width: 64em) {
  .feature-pods {
    margin: 60px 6.25em 0; } }

@media screen and (min-width: 80em) {
  .feature-pods {
    margin: 90px auto 0; } }

.key-dates .date-group ul li {
  padding: 7px 0;
  border-bottom: 1px solid #cacbcb; }

.key-dates a.set-ics {
  font-family: "Stolzl W00 Medium";
  font-size: 0.75em;
  font-weight: normal;
  letter-spacing: 0.0375em;
  display: block;
  color: #969797;
  float: none;
  text-transform: uppercase;
  text-decoration: none; }
  .key-dates a.set-ics:hover {
    color: #0B8651;
    text-decoration: none; }
  @media screen and (min-width: 48em) {
    .key-dates a.set-ics {
      float: right; } }
  @media screen and (min-width: 64em) {
    .key-dates a.set-ics {
      float: right; } }

@media screen and (min-width: 48em) {
  .key-dates .date-group a.set-ics {
    font-size: 0.625em;
    float: right;
    display: inline-block; } }

@media screen and (min-width: 80em) {
  .key-dates .date-group a.set-ics {
    font-size: 0.625em;
    float: right;
    display: inline-block; } }

@media screen and (min-width: 118.75em) {
  .key-dates .date-group a.set-ics {
    float: right;
    display: inline-block; } }

.subscribe {
  /* super specific media query to add padding to content column in landscape mode */ }
  .subscribe .intro {
    padding-top: 35px; }
    @media screen and (min-width: 48em) {
      .subscribe .intro {
        padding-top: 0; } }
  .subscribe input {
    font-family: "Heuristica";
    outline: 0;
    height: auto;
    box-shadow: none;
    border: 1px solid #cacbcb;
    padding: 0;
    margin: 0; }
    .subscribe input:hover, .subscribe input:focus {
      outline: 0;
      box-shadow: none; }
  .subscribe input[type='text'], .subscribe input[type='email'] {
    padding: 30px 20px; }
  .subscribe input:invalid {
    color: #ec671c;
    border-color: #ec671c; }
  .subscribe input:focus:invalid {
    color: #616363;
    border-color: #616363; }
  .subscribe input:not(:focus):invalid {
    color: #616363;
    border-color: #616363; }
  .subscribe .btn-submit {
    float: left; }
    @media screen and (min-width: 48em) {
      .subscribe .btn-submit {
        float: right; } }
  @media all and (min-width: 64em) and (max-width: 79.9375em) {
    .subscribe .large-collapse .columns {
      padding-left: 3.125rem;
      padding-right: 3.125rem; } }

.content-page.investor-section {
  width: 100%;
  padding-top: 35px;
  padding-bottom: 50px;
  /* super specific media query to add padding to content column in landscape mode */ }
  @media screen and (min-width: 48em) {
    .content-page.investor-section {
      padding-top: 0; } }
  .content-page.investor-section sup, .content-page.investor-section sub {
    font-size: 0.75em; }
    .content-page.investor-section sup:before, .content-page.investor-section sub:before {
      content: " "; }
    .content-page.investor-section sup:after, .content-page.investor-section sub:after {
      content: " "; }
  .content-page.investor-section .right {
    text-align: right; }
  .content-page.investor-section .notes {
    display: block;
    padding-top: 30px; }
    .content-page.investor-section .notes > p {
      font-size: 0.875em !important;
      margin: 7px; }
    .content-page.investor-section .notes a {
      text-decoration: none;
      border-bottom: 1px solid #2c2f2f; }
      .content-page.investor-section .notes a:hover {
        text-decoration: none;
        border-bottom: 1px solid #0B8651; }
  @media all and (min-width: 64em) and (max-width: 79.9375em) {
    .content-page.investor-section .large-collapse .columns {
      padding-left: 3.125rem;
      padding-right: 3.125rem; }
    .content-page.investor-section .related-content {
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (min-width: 118.75em) {
    .content-page.investor-section .wysiwyg {
      font-size: 1em; } }

.timeline-panel {
  background: url("../img/bg-top-left.png") left top no-repeat, url("../img/bg-btm-right-01.svg") bottom right no-repeat;
  background-color: #2c2f2f;
  color: #cacbcb;
  position: relative; }

#wesTimeline {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  padding-bottom: 10px; }
  #wesTimeline .year {
    position: relative;
    padding-top: 140px; }
    #wesTimeline .year:before {
      content: "";
      display: table;
      clear: both; }
    #wesTimeline .year:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 80em) {
      #wesTimeline .year {
        margin: 0 -30px; } }
    #wesTimeline .year .midline {
      position: absolute;
      width: 6px;
      height: 100%;
      left: 50%;
      top: 0;
      background: #4b4c4c;
      margin-left: -3px;
      z-index: 0; }
    #wesTimeline .year .ylabel {
      font-family: "Stolzl W00 Medium";
      font-size: 1.4375em;
      color: #fff;
      line-height: 120px;
      background: #14dc66;
      width: 120px;
      height: auto;
      border-radius: 80%;
      position: absolute;
      top: 0;
      left: calc(50% - 60px);
      z-index: 5; }
      @media screen and (min-width: 48em) {
        #wesTimeline .year .ylabel {
          font-size: 1.25em; } }
      #wesTimeline .year .ylabel.fixed {
        position: fixed;
        top: 0;
        box-sizing: border-box;
        z-index: 5; }
    #wesTimeline .year .day {
      text-align: left;
      text-decoration: none;
      display: block;
      margin-bottom: 30px; }
      @media screen and (min-width: 48em) {
        #wesTimeline .year .day {
          width: 50%;
          float: left;
          margin-bottom: 50px; } }
      @media screen and (min-width: 64em) {
        #wesTimeline .year .day {
          width: 25%;
          float: left;
          margin-bottom: 50px; } }
      #wesTimeline .year .day .wrapper {
        background: #fff;
        position: relative; }
        @media screen and (min-width: 48em) {
          #wesTimeline .year .day .wrapper {
            margin: 0 30px; } }
        #wesTimeline .year .day .wrapper:before {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper:after {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper:before {
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
          filter: alpha(opacity=0);
          -moz-opacity: 0;
          -khtml-opacity: 0;
          opacity: 0;
          transition: opacity .15s ease-in-out; }
        #wesTimeline .year .day .wrapper .image:before {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper .image:after {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper .image img {
          width: 100%;
          display: block; }
        #wesTimeline .year .day .wrapper .image.video {
          position: relative; }
          #wesTimeline .year .day .wrapper .image.video:before {
            content: "";
            display: table;
            clear: both; }
          #wesTimeline .year .day .wrapper .image.video:after {
            content: "";
            display: table;
            clear: both; }
          #wesTimeline .year .day .wrapper .image.video:after {
            position: absolute;
            bottom: 10px;
            right: 10px;
            background: transparent url("../img/icons/icon-play.png") no-repeat 0 0;
            width: 43px;
            height: 42px;
            z-index: 2; }
        #wesTimeline .year .day .wrapper .copy {
          padding: 15px 15px 30px 15px;
          position: relative; }
          #wesTimeline .year .day .wrapper .copy .tag, #wesTimeline .year .day .wrapper .copy .date {
            text-transform: uppercase;
            font-family: "Stolzl W00 Medium";
            font-size: 0.6875em;
            color: #969797; }
          #wesTimeline .year .day .wrapper .copy .date {
            position: absolute;
            bottom: 15px;
            left: 15px; }
          #wesTimeline .year .day .wrapper .copy h2 {
            padding: 15px 0 10px 0;
            margin: 0;
            color: #2c2f2f;
            font-size: 1.125em;
            font-family: "Heuristica"; }
        #wesTimeline .year .day .wrapper.no-image {
          background: #fff url("../img/icons/icon-history-bg.png") no-repeat right bottom; }
          #wesTimeline .year .day .wrapper.no-image .copy {
            height: 100%; }
            #wesTimeline .year .day .wrapper.no-image .copy h2 {
              max-width: 60%;
              padding: 60px 0; }
      #wesTimeline .year .day:hover .wrapper:before {
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 3;
        background: #2c2f2f;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=33)";
        filter: alpha(opacity=33);
        -moz-opacity: .33;
        -khtml-opacity: .33;
        opacity: .33;
        display: block;
        width: 100%; }
      #wesTimeline .year .day:hover .wrapper:after {
        position: absolute;
        bottom: 15px;
        right: 15px;
        background: transparent url("../img/icons/icon-history-arrow.png") no-repeat 0 0;
        width: 16px;
        height: 31px;
        z-index: 4; }
      @media screen and (min-width: 64em) {
        #wesTimeline .year .day.center-left {
          margin-left: 25%; } }
      @media screen and (min-width: 64em) {
        #wesTimeline .year .day.center-right {
          margin-left: 50%; } }
    #wesTimeline .year:last-of-type {
      margin-bottom: 40px; }
      #wesTimeline .year:last-of-type .midline {
        display: none; }
    @media screen and (min-width: 64em) {
      #wesTimeline .year.show-all .day.center-left {
        margin-left: 0; } }
    @media screen and (min-width: 64em) {
      #wesTimeline .year.show-all .day.center-right {
        margin-left: 0; } }

.timeline-filter {
  text-align: center;
  padding: 15px 0;
  margin: 0 auto; }
  @media screen and (max-width: 980px) {
    .timeline-filter {
      display: none; } }
  @media screen and (min-width: 980px) {
    .timeline-filter {
      padding: 50px 0; } }
  .timeline-filter span {
    text-transform: uppercase;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    display: inline-block; }
    @media screen and (min-width: 48em) {
      .timeline-filter span {
        padding-right: 8px; } }
  .timeline-filter a {
    text-transform: uppercase;
    text-decoration: none;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    line-height: 40px;
    color: #e6e6e6;
    padding: 0 15px;
    display: inline-block;
    margin: 0 0 0 6px;
    background: #565757; }
    .timeline-filter a.active, .timeline-filter a:hover {
      background: #00e963;
      color: #333231; }

.mbl-timeline-filter {
  text-align: center;
  padding: 15px 0;
  margin: 0 auto; }
  @media screen and (max-width: 980px) {
    .mbl-timeline-filter {
      display: block; } }
  @media screen and (min-width: 980px) {
    .mbl-timeline-filter {
      padding: 50px 0;
      display: none; } }
  .mbl-timeline-filter span {
    text-transform: uppercase;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    display: inline-block;
    margin: 0 0 10px 0; }
  .mbl-timeline-filter select {
    -webkit-appearance: none;
    border-radius: 0;
    border: 0;
    padding: 8px 30px 10px 10px;
    margin: 0;
    text-transform: uppercase;
    font-family: "Stolzl W00 Medium";
    color: #1d1d1d;
    -webkit-appearance: none;
    /*Removes default chrome and safari style*/
    -moz-appearance: none;
    /* Removes Default Firefox style*/
    background: #00e963 url(../img/icons/icon-dd-arrow.png) no-repeat;
    /*Adds background-image*/
    background-size: 13px 8px;
    background-position: right 16px top 16px;
    /*Position of the background-image*/
    text-indent: 0.01px;
    /* Removes default arrow from firefox*/
    text-overflow: "";
    /*Removes default arrow from firefox*/
    height: 40px;
    min-width: 0;
    max-width: 320px;
    display: block;
    margin: 0 auto;
    font-size: 1em; }
    @media screen and (min-width: 48em) {
      .mbl-timeline-filter select {
        font-size: 0.875em; } }
    .mbl-timeline-filter select:focus {
      outline: 0; }
  .mbl-timeline-filter select::-ms-expand {
    /*ie11 get rid of default dd arrow*/
    display: none; }

.timeline-intro {
  text-align: center;
  margin: 0 auto; }
  @media screen and (min-width: 48em) {
    .timeline-intro {
      max-width: 75%; } }
  .timeline-intro p {
    font-size: 1.0625em; }
    @media screen and (min-width: 48em) {
      .timeline-intro p {
        font-size: 1.5em; } }

.media-gallery {
  margin: 0 auto;
  padding-bottom: 30px;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .media-gallery {
      width: 100%; } }

.gallery-wrapper {
  border-top: solid 1px #969797;
  padding-top: 15px;
  width: auto; }
  @media screen and (min-width: 48em) {
    .gallery-wrapper {
      margin: 0 15px;
      padding-top: 30px; } }
  @media screen and (min-width: 64em) {
    .gallery-wrapper {
      margin: 0 auto;
      max-width: 1024px; } }
  @media screen and (min-width: 80em) {
    .gallery-wrapper {
      margin: 0 auto;
      max-width: 1450px; } }
  .gallery-wrapper h2, .gallery-wrapper h3 {
    padding-left: 0; }
    @media screen and (min-width: 48em) {
      .gallery-wrapper h2, .gallery-wrapper h3 {
        padding-left: 15px; } }
  .gallery-wrapper h2 + h3 {
    padding-top: 15px;
    margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .gallery-wrapper h2 + h3 {
        padding-top: 30px; } }
  .gallery-wrapper .mg-grid {
    margin: 0 -5px 20px -5px; }
    .gallery-wrapper .mg-grid:before {
      content: "";
      display: table;
      clear: both; }
    .gallery-wrapper .mg-grid:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 48em) {
      .gallery-wrapper .mg-grid {
        margin: 0 0 60px 0; } }
    .gallery-wrapper .mg-grid li {
      vertical-align: top;
      width: 50%;
      float: left; }
      .gallery-wrapper .mg-grid li:nth-child(2n+1) {
        clear: left; }
      @media screen and (min-width: 48em) {
        .gallery-wrapper .mg-grid li {
          vertical-align: top;
          width: 20%;
          float: left; }
          .gallery-wrapper .mg-grid li:nth-child(2n+1) {
            clear: none; }
          .gallery-wrapper .mg-grid li:nth-child(5n+1) {
            clear: left; } }
      .gallery-wrapper .mg-grid li > a {
        display: block;
        padding: 0;
        margin: 15px 5px 0 5px;
        border: none;
        outline: none;
        display: block;
        position: relative; }
        .gallery-wrapper .mg-grid li > a:before {
          content: "";
          display: table;
          clear: both; }
        .gallery-wrapper .mg-grid li > a:after {
          content: "";
          display: table;
          clear: both; }
        @media screen and (min-width: 48em) {
          .gallery-wrapper .mg-grid li > a {
            margin: 30px 15px 0 15px; } }
        .gallery-wrapper .mg-grid li > a .image {
          position: relative;
          overflow: hidden; }
          .gallery-wrapper .mg-grid li > a .image:before {
            content: "";
            display: table;
            clear: both; }
          .gallery-wrapper .mg-grid li > a .image:after {
            content: "";
            display: table;
            clear: both; }
          .gallery-wrapper .mg-grid li > a .image:before {
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 3;
            background: #2c2f2f;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
            filter: alpha(opacity=0);
            -moz-opacity: 0;
            -khtml-opacity: 0;
            opacity: 0;
            transition: opacity .15s ease-in-out; }
          .gallery-wrapper .mg-grid li > a .image > img {
            width: 100%;
            display: block;
            -ms-transform: scale(1.02);
                transform: scale(1.02);
            transition: all .3s ease-in-out;
            vertical-align: top; }
          .gallery-wrapper .mg-grid li > a .image.video:after {
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 3;
            width: 56px;
            height: 56px;
            top: calc(50% - 28px);
            left: calc(50% - 28px);
            background: transparent url("../img/icons/icon-vid-play.png") no-repeat 0 0; }
        .gallery-wrapper .mg-grid li > a .tag {
          text-transform: uppercase;
          font-family: 'Stolzl W00 Book', Arial, sans-serif;
          font-size: 0.75em;
          display: inline-block;
          padding: 5px 0 0 0; }
      .gallery-wrapper .mg-grid li.og-expanded > a:after {
        top: auto;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-bottom-color: #2c2f2f;
        border-width: 12px;
        left: 50%;
        margin: -12px 0 0 -12px; }
      .gallery-wrapper .mg-grid li:hover > a .image:before {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=33)";
        filter: alpha(opacity=33);
        -moz-opacity: .33;
        -khtml-opacity: .33;
        opacity: .33;
        display: block;
        width: 100%; }
      .gallery-wrapper .mg-grid li:hover > a .image > img {
        -ms-transform: scale(1.1);
            transform: scale(1.1); }

.og-expander {
  position: absolute;
  background: #2c2f2f;
  top: auto;
  left: 0;
  width: 100%;
  margin-top: 10px;
  text-align: left;
  height: 0;
  overflow: hidden; }

.og-expander-inner {
  padding: 50px 20px 20px 20px;
  height: 100%; }
  @media screen and (min-width: 48em) {
    .og-expander-inner {
      padding: 50px 30px; } }

.og-close {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 15px;
  right: 15px;
  cursor: pointer; }
  .og-close:before {
    content: "";
    display: table;
    clear: both; }
  .og-close:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    .og-close {
      width: 40px;
      height: 40px;
      top: 20px;
      right: 20px; } }
  .og-close:before, .og-close:after {
    position: absolute;
    width: 100%;
    top: 50%;
    height: 1px;
    background: #888;
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    transition: all 150ms ease-in-out; }
  .og-close:after {
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  .og-close:hover:before, .og-close:hover:after {
    background: #fff; }

@media screen and (min-width: 48em) {
  .og-fullimg,
  .og-details {
    width: 50%;
    float: left;
    height: 100%;
    overflow: hidden;
    position: relative; } }

.og-details {
  padding: 0; }
  @media screen and (min-width: 48em) {
    .og-details {
      padding: 0 40px; } }
  @media screen and (min-width: 64em) {
    .og-details {
      padding: 0 80px; } }

.og-fullimg {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .og-fullimg img {
      max-width: 75%; } }
  @media screen and (min-width: 64em) {
    .og-fullimg img {
      max-width: 100%; } }

.og-details:before {
  content: "";
  display: table;
  clear: both; }

.og-details:after {
  content: "";
  display: table;
  clear: both; }

.og-details h3 {
  font-weight: 400;
  font-size: 1.66667em;
  font-family: Heuristica;
  padding: 20px 0 10px;
  margin-bottom: 10px;
  color: #fff; }
  @media screen and (min-width: 48em) {
    .og-details h3 {
      padding: 40px 0 10px; } }

.og-details p {
  font-weight: 400;
  font-size: 1em;
  font-family: Heuristica;
  color: #fff; }
  .og-details p.description {
    border-bottom: solid 1px #969797;
    padding-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .og-details p.description {
        padding-bottom: 60px; } }
  .og-details p.filename {
    color: #969797;
    font-family: 'Stolzl W00 Book', Arial, sans-serif;
    font-size: 0.77778em;
    line-height: 0.77778em;
    font-weight: 400;
    text-transform: uppercase;
    padding-top: 10px; }
    @media screen and (min-width: 48em) {
      .og-details p.filename {
        padding-top: 0;
        float: left;
        max-width: 49%; } }

.og-details a.filesize {
  color: #fff;
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  font-size: 0.77778em;
  line-height: 0.77778em;
  font-weight: 400;
  text-transform: uppercase;
  transition: all 150ms ease-in-out; }
  @media screen and (min-width: 48em) {
    .og-details a.filesize {
      float: right;
      max-width: 49%; } }
  .og-details a.filesize:hover, .og-details a.filesize:focus {
    color: #0B8651;
    text-decoration: none; }

.og-loading {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ddd;
  box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc;
  margin: 0 auto;
  margin-bottom: 20px;
  animation: loader 0.5s infinite ease-in-out both; }
  @media screen and (min-width: 48em) {
    .og-loading {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -25px 0 0 -25px; } }

@keyframes loader {
  0% {
    background: #ddd; }
  33% {
    background: #ccc;
    box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
  66% {
    background: #ccc;
    box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; } }

@media screen and (max-width: 650px) {
  .og-details {
    float: none;
    width: 100%; } }

.gallery-filter {
  width: auto;
  margin: 20px auto 30px auto;
  position: relative; }
  @media screen and (min-width: 48em) {
    .gallery-filter {
      width: 350px; } }
  .gallery-filter .trigger {
    font-family: "Stolzl W00 Medium";
    text-transform: uppercase;
    color: #2c2f2f;
    background: #14dc66;
    line-height: 50px;
    text-align: center;
    position: relative;
    cursor: pointer; }
    .gallery-filter .trigger:before {
      content: "";
      display: table;
      clear: both; }
    .gallery-filter .trigger:after {
      content: "";
      display: table;
      clear: both; }
    .gallery-filter .trigger:after {
      position: absolute;
      top: 22px;
      right: 20px;
      width: 12px;
      height: 7px;
      background: transparent url("../img/icons/icon-dd-arrow-white.png") no-repeat 0 0;
      transition: 0.5s all; }
    .gallery-filter .trigger.active:after {
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }
  .gallery-filter .options {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 6;
    width: 100%;
    display: block;
    max-height: 0;
    overflow-y: hidden;
    transition: max-height .5s;
    overflow: hidden;
    cursor: pointer; }
    .gallery-filter .options li {
      background: #fff;
      border: solid 1px #969797;
      border-bottom: 0;
      line-height: 50px;
      padding: 0 20px;
      color: #969797; }
      .gallery-filter .options li a {
        display: block;
        padding: 0 20px;
        margin: 0 -20px; }
        .gallery-filter .options li a:hover {
          background: #eaeaea; }
      .gallery-filter .options li ul li {
        border-right: 0;
        border-left: 0;
        margin: 0 -20px; }
        .gallery-filter .options li ul li a {
          padding: 0 0 0 40px; }
    .gallery-filter .options.active {
      border-bottom: solid 1px #969797;
      max-height: 600px; }

article .split-list {
  padding-top: 10px; }
  @media screen and (min-width: 90em) {
    article .split-list {
      padding-top: 20px; }
      article .split-list:before {
        content: "";
        display: table;
        clear: both; }
      article .split-list:after {
        content: "";
        display: table;
        clear: both; } }
  article .split-list:first-of-type {
    border-top: 1px solid #2c2f2f; }
  @media screen and (min-width: 90em) {
    article .split-list .list-copy {
      float: left;
      width: 50%;
      padding: 10px 20px 0 0; } }
  article .split-list .list-copy span {
    color: #2c2f2f;
    font-family: "Heuristica Bold";
    font-size: 0.875rem;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      article .split-list .list-copy span {
        float: left;
        padding-right: 30px;
        font-size: 1.125rem;
        line-height: 1.625rem; } }
  article .split-list .list-copy h4 {
    font-size: 1.0625rem;
    line-height: 1.5625rem;
    overflow: hidden; }
    @media screen and (min-width: 90em) {
      article .split-list .list-copy h4 {
        font-size: 1.125rem;
        line-height: 1.625rem; } }
  article .split-list > ul {
    margin-bottom: 15px; }
    @media screen and (min-width: 90em) {
      article .split-list > ul {
        float: left;
        width: 50%; } }

.accordion .split-list:first-of-type {
  border-top: none; }

.sfHighlight {
  font-weight: normal;
  background-color: #00e862;
  color: #2c2f2f;
  padding: 2px; }

.sf-media {
  padding-bottom: 25px; }

.sf-media-body {
  font-family: "Heuristica";
  font-size: 0.875em;
  font-weight: normal; }
  @media screen and (min-width: 64em) {
    .sf-media-body p {
      padding-left: 50px; } }

.search-header {
  padding-top: 50px;
  padding-bottom: 35px; }
  .search-header em {
    font-style: italic; }
    .search-header em:before {
      content: "\201C"; }
    .search-header em:after {
      content: "\201D"; }

.search-footer {
  margin: 0 auto;
  text-align: center; }
  .search-footer:before {
    content: "";
    display: table;
    clear: both; }
  .search-footer:after {
    content: "";
    display: table;
    clear: both; }

.pagination {
  display: inline-block;
  font-family: "Heuristica";
  font-size: 1em;
  font-weight: normal; }
  .pagination .current {
    background-color: #00e862;
    color: #eaeaea;
    font-weight: 700;
    padding: 0; }
    .pagination .current:hover {
      background-color: #0B8651;
      color: #eaeaea; }
  .pagination a,
  .pagination button {
    font-family: "Stolzl W00 Medium";
    text-transform: uppercase;
    padding: 10px 25px;
    background: transparent; }
    .pagination a:hover,
    .pagination button:hover {
      color: #eaeaea;
      background: transparent; }

ul.pagination li {
  padding: 0;
  margin: 0;
  background-color: #eaeaea; }
  ul.pagination li:hover {
    color: #eaeaea;
    background-color: #363a45; }

@media screen and (min-width: 48em) {
  .sf-social-share {
    padding-bottom: 1.5625em; } }

.sf-social-share li {
  float: left;
  list-style: none;
  display: inline-block;
  line-height: 8px;
  padding: 5px; }
  .sf-social-share li:first-child {
    padding-left: 0; }
  .sf-social-share li:last-child {
    padding-right: 0; }

.sf-social-share #___plusone_0 {
  max-width: 55px;
  width: 55px; }

#btt {
  color: #cacbcb;
  background-color: #363a45;
  position: fixed;
  bottom: 30px;
  right: 0px;
  z-index: 9999;
  width: 45px;
  height: 45px;
  text-align: center;
  cursor: pointer;
  border: 0;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "Stolzl W00 Medium";
  font-size: 0.6em;
  margin: 0 auto;
  padding: 7px;
  display: none; }
  #btt span {
    padding: 5px 0 3px 0;
    margin: 0;
    display: block;
    width: 100%; }
    #btt span:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 20;
      color: #cacbcb; }

.sustainability-links h2 {
  font-family: "Stolzl W00 Bold";
  font-size: 1.125em;
  line-height: .9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #2c2f2f;
  font-weight: normal; }

.columns.sustainability-performance {
  border-left: solid 2px #00e862;
  margin-bottom: 10px; }

.investor-centre .wrapper {
  padding: 20px; }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 15px; }
  .investor-centre .grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .grid > .share-promo,
    .investor-centre .grid > .debt-investors,
    .investor-centre .grid > .news-list {
      -moz-flex: 1 100%;
      -ms-flex: 1 100%;
      -o-flex: 1 100%;
      flex: 1 100%; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 1 50%;
      -ms-flex: 1 50%;
      -o-flex: 1 50%;
      flex: 1 50%; } }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 30px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 40px; }
  .investor-centre .grid {
    -ms-flex-flow: row;
    -o-flex-flow: row;
    flex-flow: row; }
    .investor-centre .grid > .share-promo {
      -moz-flex: 1 20%;
      -ms-flex: 1 20%;
      -o-flex: 1 20%;
      flex: 1 20%;
      -ms-flex-order: 1;
          order: 1; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 0 38%;
      -ms-flex: 0 38%;
      -o-flex: 0 38%;
      flex: 0 38%;
      -ms-flex-order: 4;
          order: 4; }
    .investor-centre .grid > .debt-investors {
      position: absolute;
      bottom: 0;
      left: 55px;
      width: 18%;
      max-width: 246px; }
    .investor-centre .grid > .news-list {
      position: absolute;
      top: 286px;
      left: 55px;
      width: 18%;
      max-width: 246px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 55px 55px 0 55px; } }

#investor-centre #main .investor-centre .row,
#investor-centre #main .investors .row {
  max-width: 100em;
  background-color: #fff; }

@media screen and (min-width: 80em) {
  #investor-centre {
    background-color: #2c2f2f; } }

@media screen and (min-width: 48em) {
  #investor-centre #main .investors {
    margin-bottom: 0;
    border: none; }
    #investor-centre #main .investors .page-intro {
      margin-bottom: 0;
      border-bottom: 6px solid #00e862; } }

.investor-centre .share-promo {
  margin: 20px auto;
  max-width: 420px; }
  .investor-centre .share-promo > a:hover, .investor-centre .share-promo > a:focus {
    text-decoration: none; }
    .investor-centre .share-promo > a:hover .stock-price > span, .investor-centre .share-promo > a:focus .stock-price > span {
      color: #00e862; }
  .investor-centre .share-promo h2 {
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #2c2f2f;
    font-weight: normal;
    text-align: left;
    margin-bottom: 0; }
  .investor-centre .share-promo .share-price {
    position: relative;
    padding: 0; }
    .investor-centre .share-promo .share-price .stock-price > span {
      font-size: 65px;
      margin-bottom: 0; }
    .investor-centre .share-promo .share-price .stock-index > span {
      font-size: 1.625em;
      padding-left: 20px;
      padding-right: 20px;
      color: #2c2f2f !important; }
      .investor-centre .share-promo .share-price .stock-index > span:first-of-type {
        padding-left: 10px;
        padding-bottom: 8px; }
    .investor-centre .share-promo .share-price .stock-index > i {
      font-size: 1.375em;
      color: #2c2f2f !important;
      margin-top: 5px;
      width: 30px;
      height: 30px;
      padding-left: 10px; }
    .investor-centre .share-promo .share-price .stock-updated-list {
      padding: 10px 0 5px;
      border-top: 1px solid #00e862;
      border-bottom: 1px solid #00e862; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-family: "Stolzl W00 Book";
        font-size: 0.75em;
        line-height: .9;
        letter-spacing: 0.0375em;
        text-transform: uppercase;
        color: #646464;
        font-weight: normal;
        padding-bottom: 4px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li > span {
          display: inline-block;
          min-width: 85px; }
    .investor-centre .share-promo .share-price .stock-wrapper {
      border: none; }
  @media screen and (min-width: 30em) {
    .investor-centre .share-promo {
      max-width: 420px; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-size: 0.78125em; } }
  @media screen and (min-width: 48em) and (max-width: 79.9375em) {
    .investor-centre .share-promo {
      max-width: none;
      margin: 20px auto;
      padding: 0; }
      .investor-centre .share-promo:before {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo:after {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo h2 {
        display: block;
        -moz-flex: 0 100%;
        -ms-flex: 0 100%;
        -o-flex: 0 100%;
        flex: 0 100%;
        padding-bottom: 0;
        max-width: 768px;
        margin: 0 auto; }
      .investor-centre .share-promo .share-price {
        max-width: 768px;
        left: 50%;
        -ms-transform: translate(-50%);
        transform: translate(-50%);
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
        -o-flex-flow: row;
        flex-flow: row;
        border-bottom: 7px solid #00e862;
        padding: 20px 0;
        margin-right: 0;
        margin-left: 0; }
        .investor-centre .share-promo .share-price:before {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price:after {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price .stock-price {
          -moz-flex: 1 33.33333%;
          -ms-flex: 1 33.33333%;
          -o-flex: 1 33.33333%;
          flex: 1 33.33333%; }
          .investor-centre .share-promo .share-price .stock-price > span {
            border: none;
            text-align: left;
            padding-left: 0;
            padding-right: 0;
            line-height: .9; }
        .investor-centre .share-promo .share-price .stock-wrapper {
          -moz-flex: 0 66.66666%;
          -ms-flex: 0 66.66666%;
          -o-flex: 0 66.66666%;
          flex: 0 66.66666%;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row;
          -o-flex-flow: row;
          flex-flow: row;
          border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -moz-flex: 0 35%;
            -ms-flex: 0 35%;
            -o-flex: 0 35%;
            flex: 0 35%; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -ms-transform: none;
                transform: none;
            left: 0;
            padding: 0 0 0 10px;
            border-left: 1px solid #00e862; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
              position: absolute; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span,
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span:first-of-type {
              display: block;
              padding-left: 40px;
              padding-bottom: 5px;
              padding-right: 25px;
              border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list {
            -moz-flex: 65%;
            -ms-flex: 65%;
            -o-flex: 65%;
            flex: 65%;
            border: none;
            border-left: 1px solid #00e862;
            padding: 0 0 0 25px; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li {
              padding-bottom: 10px; }
              .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li:last-child {
                padding-bottom: 0; } }
  @media screen and (min-width: 80em) {
    .investor-centre .share-promo {
      margin: 0; }
      .investor-centre .share-promo .share-price {
        max-width: 246px; }
        .investor-centre .share-promo .share-price .stock-price > span {
          font-size: 3.4375em; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span {
          font-size: 1.125em;
          padding-bottom: 0; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
          font-size: 18px;
          height: 20px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li {
          font-size: 0.6875em; }
          .investor-centre .share-promo .share-price .stock-updated-list > li > span:first-child {
            min-width: 75px; } }

.announcement-bar {
  position: relative;
  width: 100%;
  background-color: #00e862;
  overflow: hidden;
  /* add override to prevent margin buffer */ }
  .announcement-bar p,
  .announcement-bar a {
    color: #000; }
  .announcement-bar p {
    text-align: center;
    padding: 8px 20px 4px; }
  .announcement-bar a {
    text-decoration: underline;
    /*
        transition:color .3s;
        &:hover, &:focus {
        	color:#fff;
        }
        */ }
    .announcement-bar a:hover, .announcement-bar a:focus {
      color: #000; }
  .announcement-bar .wysiwyg > .wysiwyg-inner:first-child {
    margin-top: 0; }
  @media screen and (min-width: 48em) {
    .announcement-bar {
      border-bottom: 10px solid #00e862;
      border-left: 10px solid #00e862;
      border-right: 10px solid #00e862; }
      .announcement-bar p {
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 8px 20px 8px;
        position: relative;
        left: 50%;
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
        z-index: 2;
        font-size: 0.96875em;
        background-color: #00e862; }
        .announcement-bar p:after, .announcement-bar p:before {
          content: '';
          position: absolute;
          display: block; }
        .announcement-bar p:before {
          top: 0;
          left: -50px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0 72px 54px;
          border-color: transparent transparent #00e862 transparent; }
        .announcement-bar p:after {
          bottom: 0;
          right: -52px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 72px 54px 0 0;
          border-color: #00e862 transparent transparent transparent; }
      .announcement-bar:before {
        background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5NUM4NzczMDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5NUM4Nzc0MDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjk1Qzg3NzEwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjk1Qzg3NzIwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BrT4mAAAB+ElEQVR42uzb3U3DAAxFYeoFmKfdAAamGzAPsEBIHnhBKk1Dfo7tY8kPeYv0SZEi33sahuGp8ZzHvY77DHiXr3FfQgwOxrjvIQYHY3oIMTgYHUHQGN1A8BidQFJgdAFJg9EBJBVGdZB0GJVBSBifczGqgtAwXudiVARJjVENJD1GJZASGFVAymBUACmFkR2kHEZmkJIYWUHKYmQEKY2RDaQ8RiaQFhhZQNpgZABphUEHaYdBBmmJQQVpi0EEaY1BA2mPQQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBArmIwQGZMN7EYICIAQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAzWkYhg8xMHOeQAYxGBjjXkMMDsb0pQoxOBh//amLcQDGkSBi3MixhRgcjCNAxLiT8AwxOBh7gogxM/scYnAw9gAR48FWQIjBwdgSRIyFFY0QYzOMRSeNEIODsTaIGCsc+0IMDsZaIGKseAYPMTgY/wURY4OASIjBwVgKIsaG0akQg4PxKIgYO4QKQwwOxlwQMXaM24YYHIx7IGIcEEQPMTgYt0DEOLCiEWJwMH6DiAEoL4UYHIwfEDFAtb6pQXURg9Ox/BZgAOUXORxGy4aaAAAAAElFTkSuQmCC");
        background-size: 6px auto;
        content: '';
        position: absolute;
        top: 3px;
        left: -10%;
        z-index: 1;
        display: block;
        width: 120%;
        height: 100%;
        opacity: .75;
        -ms-transform: skewX(15deg);
            transform: skewX(15deg); } }

.investor-centre .tile-links:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links h2 {
  margin-top: 30px;
  line-height: 1.1; }

.investor-centre .tile-links ul > li,
.investor-centre .tile-links ul > li > a {
  font-family: "Stolzl W00 Book";
  font-size: 1em;
  line-height: 1.3;
  letter-spacing: 0; }

.investor-centre .tile-links ul > li > a {
  display: block;
  position: relative;
  padding: 15px;
  background-color: #eaeaea;
  transition: background-color .4s;
  margin-bottom: 10px;
  overflow: hidden; }

.investor-centre .tile-links ul > li:hover > a {
  color: #000;
  background-color: #00e862;
  text-decoration: none; }

@media screen and (min-width: 30em) {
  .investor-centre .tile-links ul > li > a {
    position: relative;
    min-height: 80px;
    font-size: 1.125em; }
    .investor-centre .tile-links ul > li > a > span {
      position: absolute;
      display: block;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .investor-centre .tile-links.lt ul {
    margin-right: 15px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 15px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 20px; } }

@media screen and (min-width: 64em) {
  .investor-centre .tile-links h2 {
    min-height: 34px;
    margin-bottom: 5px; }
  .investor-centre .tile-links ul {
    margin: 0 -5px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .tile-links ul > li {
      -moz-flex: 0 50%;
      -ms-flex: 0 50%;
      -o-flex: 0 50%;
      flex: 0 50%;
      position: relative; }
      .investor-centre .tile-links ul > li:after {
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 22px;
        color: #00e862;
        display: block;
        position: absolute;
        z-index: 5;
        right: 12px;
        bottom: 7px;
        transition: color .4s; }
      .investor-centre .tile-links ul > li > a {
        margin: 5px;
        min-height: 120px;
        font-size: 1.125em; }
        .investor-centre .tile-links ul > li > a > span {
          position: relative;
          top: auto;
          -ms-transform: none;
              transform: none; }
        .investor-centre .tile-links ul > li > a:after, .investor-centre .tile-links ul > li > a:before {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          width: 100%;
          height: 100%;
          background: url(../img/tile-triangle.svg) no-repeat;
          -ms-background-size: 100% 120px;
          background-size: 100% 120px;
          transition: background-position .8s ease-in-out, opacity .3s; }
        .investor-centre .tile-links ul > li > a:after {
          opacity: .2; }
        .investor-centre .tile-links ul > li > a:before {
          opacity: 0;
          background-position: 0 -122px;
          -ms-transform: scale(-1);
              transform: scale(-1); }
      .investor-centre .tile-links ul > li:hover:after, .investor-centre .tile-links ul > li:focus:after {
        color: #fff; }
      .investor-centre .tile-links ul > li:hover > a, .investor-centre .tile-links ul > li:focus > a {
        background-color: #13d563; }
        .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
          opacity: 0;
          background-position: 0 -122px; }
        .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
          opacity: .05;
          background-position: 0 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .tile-links h2 {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 1.75em; }
  .investor-centre .tile-links ul > li > a {
    margin: 5px;
    min-height: 140px;
    font-size: 1.1875em; }
    .investor-centre .tile-links ul > li > a:before, .investor-centre .tile-links ul > li > a:after {
      background-size: 100% 140px; }
    .investor-centre .tile-links ul > li > a:before {
      background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
    background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
    background-position: 0 0; } }

@media screen and (min-width: 90em) {
  .investor-centre .tile-links h2 {
    margin-top: -5px;
    margin-bottom: 55px;
    font-size: 2em; }
  .investor-centre .tile-links ul > li > a {
    font-size: 1.25em; }
  .investor-centre .tile-links.lt {
    position: relative; }
    .investor-centre .tile-links.lt:before, .investor-centre .tile-links.lt:after {
      content: '';
      position: absolute;
      display: block;
      width: 1px;
      height: 100%;
      height: calc(100% - 5px);
      background-color: #cacbcb;
      top: 0; }
    .investor-centre .tile-links.lt:before {
      left: -30px; }
    .investor-centre .tile-links.lt:after {
      right: -10px; }
  .investor-centre .tile-links ul {
    margin-right: 32px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 32px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 38px; } }

@media screen and (min-width: 118.75em) {
  .investor-centre .tile-links ul > li > a {
    font-size: 1.375em; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .investor-centre .tile-links article {
    margin-left: 0;
    margin-right: 0; } }

.investor-centre .sustainability-links {
  border-top: 1px solid #00e862;
  border-bottom: 1px solid #00e862;
  padding: 15px 0;
  margin-top: 30px; }
  .investor-centre .sustainability-links:before {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .sustainability-links:after {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .sustainability-links h2 {
    display: block;
    position: relative;
    margin: 0;
    transition: color .3s; }
    .investor-centre .sustainability-links h2:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 22px;
      color: #00e862;
      display: block;
      position: absolute;
      right: 10px;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    .investor-centre .sustainability-links h2:hover, .investor-centre .sustainability-links h2:focus {
      color: #00cf57; }
  @media screen and (min-width: 30em) and (max-width: 79.9375em) {
    .investor-centre .sustainability-links h2:after {
      position: relative;
      display: inline-block;
      right: auto;
      -ms-transform: none;
          transform: none;
      top: 0;
      padding-left: 5px; } }
  @media screen and (min-width: 80em) {
    .investor-centre .sustainability-links {
      margin-bottom: 5px; } }

.investor-centre .news-list:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list h2 {
  font-family: "Stolzl W00 Medium";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #2c2f2f; }

.investor-centre .news-list .date-time {
  font-family: "Stolzl W00 Book";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #646464;
  font-weight: normal; }

.investor-centre .news-list h2 {
  margin-top: 50px; }

.investor-centre .news-list > .wrapper {
  padding: 0; }
  .investor-centre .news-list > .wrapper .item {
    margin-bottom: 20px; }
    .investor-centre .news-list > .wrapper .item .date-time {
      font-family: "Stolzl W00 Medium";
      margin-bottom: 10px; }
    .investor-centre .news-list > .wrapper .item p:not(:first-child) {
      font-size: 1.0625em; }

@media screen and (min-width: 48em) and (max-width: 79.9375em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list .wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row;
      -o-flex-flow: row;
      flex-flow: row;
      margin: 0 -1.25rem;
      padding: 0;
      max-width: 100em; }
      .investor-centre .news-list .wrapper > .item {
        -moz-flex: 1 33.3333%;
        -ms-flex: 1 33.3333%;
        -o-flex: 1 33.3333%;
        flex: 1 33.3333%;
        padding: 0 1.25rem;
        margin-bottom: 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list h2 {
      margin-top: 0; }
    .investor-centre .news-list .wrapper {
      display: block; }
      .investor-centre .news-list .wrapper > .item {
        width: 100%;
        max-height: 62px;
        overflow: hidden;
        margin-bottom: 10px; }
        .investor-centre .news-list .wrapper > .item p:not(:first-child) {
          font-size: 0.9375em; } }

.featured {
  padding-top: 0;
  margin-top: 10px;
  border-top: 1px solid #cacbcb; }
  .featured > h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    padding-top: 10px; }
  @media screen and (min-width: 30em) {
    .featured {
      border: none; }
      .featured > h2 {
        border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 0\0) {
  .featured {
    width: 100%; }
    .featured .row .column, .featured .row .columns {
      width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 30em) {
  .investor-centre .grid {
    width: 100%; }
  .announcement-bar p {
    display: block; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 79.9375em) {
  .share-promo .share-price .stock-index {
    padding-right: 30px !important; } }

@media screen and (min-width: 0\0) and (min-width: 80em) {
  .investor-centre .grid {
    width: 100%; }
    .investor-centre .grid > .share-promo {
      width: 20%; }
    .investor-centre .grid > .tile-links {
      width: 38%; }
  .featured .row .column, .featured .row .columns {
    width: 33%; } }

.sfPageEditor .rdTable tbody, .sfPageEditor .rdTable thead, .sfPageEditor .rdTable tfoot {
  background: none; }

.sfPageEditor .RadDock .rdCenter .rdCommands li a:before, .sfPageEditor .RadDock .rdCenter .rdCommands li a:after, .sfPageEditor .RadDock .rdCenter .rdCommands li:after {
  display: none; }

.sfPageEditor .investor-centre .tile-links ul.rdCommands > li > a {
  min-height: auto;
  margin: 0; }

.sfPageEditor .related-content {
  max-width: 270px !important; }
  .sfPageEditor .related-content ul:after,
  .sfPageEditor .related-content ul:before {
    display: none; }

.sfPageEditor .sfPageWrapper header {
  position: relative; }

.sfPageEditor .sfPageWrapper .highlight-panel.grey-panel:after {
  display: none; }

.sfPageEditor .sfPageWrapper .sf_colsIn.announcement-bar {
  overflow: visible; }
  .sfPageEditor .sfPageWrapper .sf_colsIn.announcement-bar:before {
    display: none; }

.sfPageEditor .sfPageWrapper .sf_colsIn.column, .sfPageEditor .sfPageWrapper .sf_colsIn.columns {
  float: left; }

.sfPageEditor footer {
  position: static; }

.RadWindow {
  width: 100% !important;
  left: 0 !important;
  height: 100% !important;
  overflow: auto; }
  .RadWindow > table.rwTable {
    height: 100% !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5taW4uY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJzZXR0aW5ncy9fZm91bmRhdGlvbi1zZXR0aW5ncy5zY3NzIiwic2V0dGluZ3MvX3Byb2plY3QtdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwidG9vbHMvaGVscGVycy9fbWl4aW5zLnNjc3MiLCJ0b29scy9oZWxwZXJzL19hbmltYXRlLXNpbXBsZS5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3dlc2Zhcm1lcnMtaWNvbnMuc2NzcyIsInRvb2xzL2Z1bmN0aW9ucy9fZW0tY2FsYy5zY3NzIiwidG9vbHMvY3NzMy9fbWVkaWEtcXVlcnkuc2NzcyIsImJhc2UvX2dsb2JhbC5zY3NzIiwib2JqZWN0cy9fb2JqZWN0cy5zY3NzIiwib2JqZWN0cy9fZGF0ZXBpY2tlci5zY3NzIiwib2JqZWN0cy9zbGlja1NsaWRlci9fc2xpY2suc2NzcyIsIm9iamVjdHMvc2xpY2tTbGlkZXIvX3NsaWNrVGhlbWUuc2NzcyIsImdsb2JhbC9faGVhZGVyLnNjc3MiLCJvYmplY3RzL19idXJnZXIuc2NzcyIsImdsb2JhbC9fbmF2LnNjc3MiLCJnbG9iYWwvX25hdi1tb2JpbGUuc2NzcyIsImdsb2JhbC9faW4tc2Nyb2xsLnNjc3MiLCJnbG9iYWwvX3Jlc2l6ZS5zY3NzIiwiZ2xvYmFsL19jb250ZW50LW5hdi5zY3NzIiwidG9vbHMvY3NzMy9fcHJlZml4LnNjc3MiLCJnbG9iYWwvX2hlcm9zLnNjc3MiLCJnbG9iYWwvX2Zvcm1zLnNjc3MiLCJnbG9iYWwvX3d5c2l3eWcuc2NzcyIsImdsb2JhbC9fc29jaWFsLXdhbGwuc2NzcyIsImdsb2JhbC9fcmVsYXRlZC1jb250ZW50LnNjc3MiLCJnbG9iYWwvX2Zvb3Rlci5zY3NzIiwiZ2xvYmFsL19ob21lLnNjc3MiLCJnbG9iYWwvX3RhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fbGF0ZXN0LW5ld3Muc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLXByb21vLnNjc3MiLCJjb21wb25lbnRzL19zdG9jay13aWRnZXQuc2NzcyIsImNvbXBvbmVudHMvX3BhbmVscy5zY3NzIiwiY29tcG9uZW50cy9faW52ZXN0b3ItY2VudHJlLnNjc3MiLCJjb21wb25lbnRzL19jYXJlZXJzLnNjc3MiLCJjb21wb25lbnRzL19jYXJlZXJzLWNvcnBvcmF0ZS5zY3NzIiwiY29tcG9uZW50cy9fY2FyZWVycy1idXNpbmVzc2VzLnNjc3MiLCJjb21wb25lbnRzL19saXN0LWltYWdlLWNvcHkuc2NzcyIsImNvbXBvbmVudHMvX291ci1idXNpbmVzc2VzLnNjc3MiLCJjb21wb25lbnRzL19vdXItZGl2aXNpb25zLnNjc3MiLCJjb21wb25lbnRzL19hc3gtYW5ub3VuY2Uuc2NzcyIsImNvbXBvbmVudHMvX2xpc3QtbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3Quc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9fcXVvdGUtaW50cm8uc2NzcyIsImNvbXBvbmVudHMvX2RhdGUtZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX3Jvdy1pbnRyby5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1wb2RzLnNjc3MiLCJjb21wb25lbnRzL19rZXktZGF0ZXMuc2NzcyIsImNvbXBvbmVudHMvX3N1YnNjcmliZS5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlbmQuc2NzcyIsImNvbXBvbmVudHMvX3RpbWVsaW5lLnNjc3MiLCJjb21wb25lbnRzL19tZWRpYS1nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL19zcGxpdC1saXN0LnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwiY29tcG9uZW50cy9fc29jaWFsLXNoYXJlLnNjc3MiLCJjb21wb25lbnRzL19iYWNrLXRvLXRvcC5zY3NzIiwiY29tcG9uZW50cy9fc3VzdGFpbmFiaWxpdHkuc2NzcyIsImdsb2JhbC9fc2l0ZWZpbml0eS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ0xILG1HQUFZO0FDRVo7RUFDRSwyQkNrQmM7RURqQmQsbUNDaUNlLEVEaENoQjs7QUUrTUMsNEVBQTRFO0FBRTVFOzs7O0tBSUc7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUVEOztLQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7a0ZBQ2dGO0FBRWhGOzs7OztLQUtHO0FBRUg7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFjLEVBQ2Y7O0FBRUQ7OztLQUdHO0FBRUg7Ozs7RUFJRSxzQkFBcUI7RUFBRSxPQUFPO0VBQzlCLHlCQUF3QjtFQUFFLE9BQU8sRUFDbEM7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxjQUFhO0VBQ2IsVUFBUyxFQUNWOztBQUVEOzs7S0FHRztBTDlNTDs7RUtrTkksY0FBYSxFQUNkOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUVEOzs7S0FHRztBQUVIOztFQUVFLFdBQVUsRUFDWDs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGtCQUFpQixFQUNsQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixF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OztBQVZEO0VBQ0Usd0JLaEwrQztNTGdML0Msb0JLaEwrQztFTGlML0MscUJLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osaUJEYnFELEVMeUxoRDs7QUFWRDtFQUNFLHdCS2hMK0M7TUxnTC9DLG9CS2hMK0M7RUxpTC9DLHFCS2pMK0MsRUxrTGhEOztBQUtEO0VNMUtKLHVCRGJxRCxFTHlMaEQ7O0FBVkQ7RUFDRSxrQktoTCtDO01MZ0wvQyxjS2hMK0M7RUxpTC9DLGVLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osdUJEYnFELEVMeUxoRDs7QUFWRDtFQUNFLHdCS2hMK0M7TUxnTC9DLG9CS2hMK0M7RUxpTC9DLHFCS2pMK0MsRUxrTGhEOztBQUtEO0VNMUtKLGlCRGJxRCxFTHlMaEQ7O0FBVkQ7RUFDRSx3QktoTCtDO01MZ0wvQyxvQktoTCtDO0VMaUwvQyxxQktqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSix1QkRicUQsRUx5TGhEOztBQVZEO0VBQ0Usa0JLaEwrQztNTGdML0MsY0toTCtDO0VMaUwvQyxlS2pMK0MsRUxrTGhEOztBQUtEO0VNMUtKLHVCRGJxRCxFTHlMaEQ7O0FBVkQ7RUFDRSx3QktoTCtDO01MZ0wvQyxvQktoTCtDO0VMaUwvQyxxQktqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSixpQkRicUQsRUx5TGhEOztBQVZEO0VBQ0Usd0JLaEwrQztNTGdML0Msb0JLaEwrQztFTGlML0MscUJLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osdUJEYnFELEVMeUxoRDs7QUFWRDtFQUNFLG1CS2hMK0M7TUxnTC9DLGVLaEwrQztFTGlML0MsZ0JLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osdUJEYnFELEVMeUxoRDs7QUFLRDtFT3pKSixrQlB3SmdCO01PeEpoQixTUHdKZ0IsRUFHWDs7QUFGRDtFT3pKSixrQlB3SmdCO01PeEpoQixTUHdKZ0IsRUFHWDs7QUFGRDtFT3pKSixrQlB3SmdCO01PeEpoQixTUHdKZ0IsRUFHWDs7QUFGRDtFT3pKSixrQlB3SmdCO01PeEpoQixTUHdKZ0IsRUFHWDs7QUFGRDtFT3pKSixrQlB3SmdCO01PeEpoQixTUHdKZ0IsRUFHWDs7QUFGRDtFT3pKSixrQlB3SmdCO01PeEpoQixTUHdKZ0IsRUFHWDs7QUFLRDtFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0UsbUJBRnNCO1FBRXRCLGVBRnNCO0lBR3RCLGdCQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osb0JBQWU7TUFBZixnQkFBZSxFQStHVjtFQUZEO0lBeEdGLGtCQUZzQjtRQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osb0JBQWU7TUFBZixnQkFBZSxFQStHVjtFQUZEO0lBeEdGLHdCQUZzQjtRQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQXNHRztFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usa0JBRnNCO1FBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQXNHRztFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usa0JBRnNCO1FBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQXNHRztFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usd0JBRnNCO1FBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLG9CQUFlO01BQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSx3QkFGc0I7UUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osb0JBQWU7TUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLG9CQUZzQjtRQUV0QixnQkFGc0I7SUFHdEIsaUJBSHNCLEVBSXZCOztBQWtJQztFSXBQRixnQkFBZTtFQUNmLGlCQUFnQixFSm9QOEI7O0FBTTFDO0VJbFBKLHNCQUQ4QjtFQUU5Qix1QkFGOEIsRUptUDJCOztBR2xIdkQ7RUh5REU7SUFDRSx1QktoTCtDO1FMZ0wvQyxtQktoTCtDO0lMaUwvQyxvQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLGdCRGhCZ0MsRUw0TDNCO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHNCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxrQktoTCtDO1FMZ0wvQyxjS2hMK0M7SUxpTC9DLGVLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLGlCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usa0JLaEwrQztRTGdML0MsY0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLG1CS2hMK0M7UUxnTC9DLGVLaEwrQztJTGlML0MsZ0JLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBS0Q7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBS0Q7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG1CQUZzQjtVQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQUZEO01BeEdGLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBRkQ7TUF4R0Ysd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBRkQ7TUF4R0Ysa0JBRnNCO1VBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSx3QkFGc0I7VUFFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtVQUV0QixnQkFGc0I7TUFHdEIsaUJBSHNCLEVBSXZCLEVBQUE7O0FHdUJDO0VIdUZJO0lBQ0Usa0JBakxNO1FBaUxOLGNBakxNLEVBa0xQLEVBQUE7O0FBS0Q7RUFFSSxtQkFBMkI7TUFBM0IsZUFBMkIsRUFLNUI7RUdyR1A7SUg4Rkk7TUFLTSxrQkE1TEU7VUE0TEYsY0E1TEUsRUE4TEwsRUFBQTs7QUdyR1A7RUgyR0E7SUlwUEYsZ0JBQWU7SUFDZixpQkFBZ0IsRUpvUDhCO0VBRzVDO0lJL09GLHVCQUQ4QjtJQUU5Qix3QkFGOEIsRUptUDJCLEVBQUE7O0FHbEh2RDtFSHlERTtJQUNFLHVCS2hMK0M7UUxnTC9DLG1CS2hMK0M7SUxpTC9DLG9CS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osZ0JEaEJnQyxFTDRMM0I7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osc0JEYnFELEVMeUxoRDtFQVZEO0lBQ0Usa0JLaEwrQztRTGdML0MsY0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxrQktoTCtDO1FMZ0wvQyxjS2hMK0M7SUxpTC9DLGVL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LEVMeUxoRDtFQVZEO0lBQ0Usa0JLaEwrQztRTGdML0MsY0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxtQktoTCtDO1FMZ0wvQyxlS2hMK0M7SUxpTC9DLGdCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQUtEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUtEO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUFGRDtNQXhHRixtQkFGc0I7VUFFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUFGRDtNQXhHRixrQkFGc0I7VUFFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQUZEO01BeEdGLHdCQUZzQjtVQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUFGRDtNQXhHRixrQkFGc0I7VUFFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLHdCQUZzQjtVQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7VUFFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBR3VCQztFSHVGSTtJQUNFLGtCQWpMTTtRQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQUtEO0VBRUksbUJBQTJCO01BQTNCLGVBQTJCLEVBSzVCO0VHckdQO0lIK0ZNO01BSUksa0JBNUxFO1VBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FHckdQO0VIMkdBO0lJcFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVKb1A4QjtFQU0xQztJSWxQSixzQkFEOEI7SUFFOUIsdUJBRjhCLEVKbVAyQixFQUFBOztBR2xIdkQ7RUh5REU7SUFDRSx1QktoTCtDO1FMZ0wvQyxtQktoTCtDO0lMaUwvQyxvQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLGdCRGhCZ0MsRUw0TDNCO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHNCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxrQktoTCtDO1FMZ0wvQyxjS2hMK0M7SUxpTC9DLGVLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLGlCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usa0JLaEwrQztRTGdML0MsY0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLG1CS2hMK0M7UUxnTC9DLGVLaEwrQztJTGlML0MsZ0JLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBS0Q7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBS0Q7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG1CQUZzQjtVQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQUZEO01BeEdGLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBRkQ7TUF4R0Ysd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQUZEO01BeEdGLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBRkQ7TUF4R0Ysa0JBRnNCO1VBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSx3QkFGc0I7VUFFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtVQUV0QixnQkFGc0I7TUFHdEIsaUJBSHNCLEVBSXZCLEVBQUE7O0FHdUJDO0VIdUZJO0lBQ0Usa0JBakxNO1FBaUxOLGNBakxNLEVBa0xQLEVBQUE7O0FBS0Q7RUFFSSxtQkFBMkI7TUFBM0IsZUFBMkIsRUFLNUI7RUdyR1A7SUgrRk07TUFJSSxrQkE1TEU7VUE0TEYsY0E1TEUsRUE4TEwsRUFBQTs7QUdyR1A7RUgyR0E7SUlwUEYsZ0JBQWU7SUFDZixpQkFBZ0IsRUpvUDhCO0VBTTFDO0lJbFBKLHNCQUQ4QjtJQUU5Qix1QkFGOEIsRUptUDJCLEVBQUE7O0FHbEh2RDtFSHlERTtJQUNFLHVCS2hMK0M7UUxnTC9DLG1CS2hMK0M7SUxpTC9DLG9CS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osZ0JEaEJnQyxFTDRMM0I7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osc0JEYnFELEVMeUxoRDtFQVZEO0lBQ0Usa0JLaEwrQztRTGdML0MsY0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxrQktoTCtDO1FMZ0wvQyxjS2hMK0M7SUxpTC9DLGVLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VB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O0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxtQktoTCtDO1FMZ0wvQyxlS2hMK0M7SUxpTC9DLGdCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQUtEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUtEO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUFGRDtNQXhHRixtQkFGc0I7VUFFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUFGRDtNQXhHRixrQkFGc0I7VUFFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLHdCQUZzQjtVQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxrQkFGc0I7VUFFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBRkQ7TUF4R0Ysd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLHdCQUZzQjtVQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUFGRDtNQXhHRixvQkFGc0I7VUFFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBR3VCQztFSHVGSTtJQUNFLGtCQWpMTTtRQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQUtEO0VBRUksbUJBQTJCO01BQTNCLGVBQTJCLEVBSzVCO0VHckdQO0lIOEZJO01BS00sa0JBNUxFO1VBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FHckdQO0VIMkdBO0lJcFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVKb1A4QjtFQU0xQztJSWxQSixzQkFEOEI7SUFFOUIsdUJBRjhCLEVKbVAyQixFQUFBOztBQUt6RDtFQUNFLG1CQTlNZTtNQThNZixlQTlNZTtFQStNZixnQkFBZSxFQUNoQjs7QUFLQztFT3RORiwyQkFuRGlCO01BbURqQix1QkFuRGlCLEVQMlFkOztBQUZEO0VPdE5GLHlCQWxEa0I7TUFrRGxCLHFCQWxEa0IsRVAwUWY7O0FBRkQ7RU90TkYsNEJBakRnQjtNQWlEaEIsbUJBakRnQixFUHlRYjs7QUFGRDtFT3RORiw2QkFoRGtCO01BZ0RsQixvQkFoRGtCLEVQd1FmOztBUWpSRDtFRHdDRixtQkF6Q2lCO01BeUNqQiwwQkF6Q2lCLEVDR2Q7O0FBRkQ7RUR3Q0Ysc0JBeENnQjtNQXdDaEIsd0JBeENnQixFQ0ViOztBQUZEO0VEd0NGLHVCQXZDd0I7TUF1Q3hCLCtCQXZDd0IsRUNDckI7O0FBRkQ7RUR3Q0YsMEJBdENzQjtNQXNDdEIsOEJBdENzQixFQ0FuQjs7QUFLRDtFRGtDRixzQkFuQ2lCO01BbUNqQix3QkFuQ2lCLEVDR2Q7O0FBRUQ7RUQ4Q0YsMkJBbkRpQjtNQW1EakIsdUJBbkRpQixFQ09kOztBQU5EO0VEa0NGLG9CQWxDa0I7TUFrQ2xCLHNCQWxDa0IsRUNFZjs7QUFFRDtFRDhDRix5QkFsRGtCO01Ba0RsQixxQkFsRGtCLEVDTWY7O0FBTkQ7RURrQ0YsdUJBakNnQjtNQWlDaEIsb0JBakNnQixFQ0NiOztBQUVEO0VEOENGLDRCQWpEZ0I7TUFpRGhCLG1CQWpEZ0IsRUNLYjs7QUFORDtFRGtDRix3QkFoQ2tCO01BZ0NsQixxQkFoQ2tCLEVDQWY7O0FBRUQ7RUQ4Q0YsNkJBaERrQjtNQWdEbEIsb0JBaERrQixFQ0lmOztBUjJNQztFT3pKSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QVJtTUQ7RU96Skosa0JDN0NnQjtNRDZDaEIsU0M3Q2dCLEVBR1g7O0FSbU1EO0VPekpKLGtCQzdDZ0I7TUQ2Q2hCLFNDN0NnQixFQUdYOztBUm1NRDtFT3pKSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QVJtTUQ7RU96Skosa0JDN0NnQjtNRDZDaEIsU0M3Q2dCLEVBR1g7O0FSbU1EO0VPekpKLGtCQzdDZ0I7TUQ2Q2hCLFNDN0NnQixFQUdYOztBTDJISDtFSHdFRTtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSHdFRTtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSHdFRTtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSHdFRTtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSHdFRTtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSHdFRTtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFUm1NRDtJT3pKSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBQytNTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0UsbUJBQWtCO0VBQ2xCLGlCWm5Lc0I7RVlvS3RCLG9CWm5LMEI7RVlvSzFCLG1DWm5LeUMsRVlvSzFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0Jabk5xQjtFWW9OckIscUJBQW9CLEVBQ3JCOztBYjJGRDtFYXZGRSxlWjFMaUI7RVkyTGpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsMEJaek8yQjtFWTBPM0Isb0JadE95QjtFWXVPekIsbUJaak5zQjtFWWtOdEIsZVo1TWtCO0VZNk1sQixtQ1oxTXNDO0VZMk10QyxjQUFhO0VBQ2Isc0JaN015QjtFWThNekIsaUJaL01tQixFWXFOcEI7RUFuQkQ7Ozs7OztJQWdCSSxlWnpQZTtJWTBQZixlQUFjLEVBQ2Y7O0FiOENIO0VhdENRLGtCUmhPK0MsRVFpT2hEOztBQUZEO0VBQ0UsbUJSaE8rQyxFUWlPaEQ7O0FBRkQ7RUFDRSxxQlJoTytDLEVRaU9oRDs7QUFGRDtFQUNFLG9CUmhPK0MsRVFpT2hEOztBQUZEO0VBQ0UscUJSaE8rQyxFUWlPaEQ7O0FBRkQ7RUFDRSxnQlJoTytDLEVRaU9oRDs7QU5uS0w7RVB3TUY7SWF0Q1EsZ0JSaE8rQyxFUWlPaEQ7RUFGRDtJQUNFLGtCUmhPK0MsRVFpT2hEO0VBRkQ7SUFDRSxxQlJoTytDLEVRaU9oRDtFQUZEO0lBQ0UscUJSaE8rQyxFUWlPaEQ7RUFGRDtJQUNFLG1CUmhPK0MsRVFpT2hEO0VBRkQ7SUFDRSxnQlJoTytDLEVRaU9oRCxFQUFBOztBYlZQO0VhaUJFLGVaOVFtQztFWStRbkMsc0Jack55QjtFWXNOekIscUJBQW9CO0VBQ3BCLGdCQUFlLEVBYWhCO0VBWEM7SUFFRSxlWjVOMkQsRVlnTzVEO0VBRUQ7SUFDRSxVQUFTLEVBQ1Y7O0FiMkZIO0VhdEZFLHFCUjVQcUQ7RVE2UHJELFVBQVM7RUFDVCxnQkFBZTtFQUNmLGNBQWE7RUFDYixpQ1puU2lCO0VZb1NqQixlQUFjO0VBQ2QscUJaMU95QjtFWTJPekIsWUFBVyxFQUNaOztBQUdEOzs7RUFHRSxpQlpqUXNCO0VZa1F0QixvQlpqUTBCO0VZa1ExQiw2QlpoUHlCLEVZaVAxQjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHNCWjNQa0I7RVk0UGxCLHFCWjFQc0IsRVkyUHZCOztBQUdEO0VBQ0UscUJaL1BzQixFWWdRdkI7O0FBR0Q7RUFFSSxxQlpwUTJCO0VZcVEzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQloxUXlCLEVZZ1IxQjtFQVBEO0lBSUksc0JaM1E4QjtJWTRROUIsa0JaclVtQixFWXNVcEI7O0FBSUg7RUFDRSxpQlp6UzBCO0VZMFMxQix1Q1JwVHFEO0VRcVRyRCwrQlp4VmlCLEVZOFZsQjtFQVREO0lBTUksaUJaL1NvQjtJWWdUcEIsZVozVmEsRVk0VmQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJSaFVxRDtFUWlVckQsZVpuV2UsRVl3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aEJ4Qjs7QTVEckJIO0UwRHVDRSxnQ0FGeUI7TUFFekIsNEJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsNEJBQTJCLEVDUjFCOztBQVVEO0VGb0JBLDZCQUZ5QjtNQUV6Qix5QkFGeUIsRUVoQnhCOztBQWREO0VGZ0NBLDZCQUZ5QjtNQUV6Qix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6Qyw0QkFBMkIsRUNSMUI7O0E1RFJIO0UwRHNDRSxnQ0FGeUI7TUFFekIsNEJBRnlCLEVFaEJ4Qjs7QUFkRDtFRmdDQSw2QkFGeUI7TUFFekIseUJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsNEJBQTJCLEVDUjFCOztBNURQSDtFMERxQ0UsZ0NBRnlCO01BRXpCLDRCQUZ5QixFRWhCeEI7O0E1RGxCSDtFMERvQ0UsNkJBRnlCO01BRXpCLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLDRCQUEyQixFQ1IxQjs7QTVETkg7RTBEb0NFLGlDQUZ5QjtNQUV6Qiw2QkFGeUIsRUVoQnhCOztBNURqQkg7RTBEbUNFLDZCQUZ5QjtNQUV6Qix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6Qyw0QkFBMkIsRUNSMUI7O0FBVUQ7RUZvQkEsaUNBRnlCO01BRXpCLDZCQUZ5QixFRWhCeEI7O0E1RGRIO0UwRGdDRSxXMURoQ2tDO0U2REFsQyw2QkFBNEIsRURFM0I7O0E1REZIO0UwRGdDRSxXMURoQ3FDLEU0RGNwQzs7QUFkRDtFRmdDQSxXMUQvQmtDO0U2RERsQyw2QkFBNEIsRURFM0I7O0FBVUQ7RUZvQkEsVzFEL0JxQyxFNERhcEM7O0FBZEQ7RUZnQ0EsK0NJckNtQztFSnFDbkMsMEIxRDVCbUQ7TTBENEJuRCxzQjFENUJtRDtFK0RHakQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVITjVCOztBQVVEO0VGb0JBLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QTVEVEg7RTBEMkJFLCtDSXBDcUM7RUpvQ3JDLDRCMUQzQnFEO00wRDJCckQsd0IxRDNCcUQ7RStERW5ELHdDQUF1QztFQUN2QyxXQUEyQixFSE41Qjs7QTVER0g7RTBEMkJFLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QTVEUkg7RTBEMEJFLDhDSW5DaUM7RUptQ2pDLDZCMUQxQnNEO00wRDBCdEQseUIxRDFCc0Q7RStEQ3BELHdDQUF1QztFQUN2QyxXQUEyQixFSE41Qjs7QTVESUg7RTBEMEJFLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QTVEUEg7RTBEeUJFLDhDSWxDK0I7RUprQy9CLDJCMUR6Qm9EO00wRHlCcEQsdUIxRHpCb0Q7RStEQWxELHdDQUF1QztFQUN2QyxXQUEyQixFSE41Qjs7QTVES0g7RTBEeUJFLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QUFkRDtFRmdDQSwrQ0lyQ21DO0VKcUNuQyw2QklDZTtNSkRmLHlCSUNlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFSE41Qjs7QUFVRDtFRm9CQSw0Q0lWNEM7RUNKMUMsV0FBMkIsRUhKNUI7O0E1RExIO0UwRHVCRSwrQ0lwQ3FDO0VKb0NyQyw2QklDZTtNSkRmLHlCSUNlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFSE41Qjs7QTVET0g7RTBEdUJFLDRDSVY0QztFQ0oxQyxXQUEyQixFSEo1Qjs7QUFkRDtFRmdDQSw0Q0lSOEM7RUpROUMsMEIxRHRCbUQ7TTBEc0JuRCxzQjFEdEJtRDtFK0RIakQsd0NBQXVDO0VBQ3ZDLFdBQThCLEVITi9COztBQVVEO0VGb0JBLCtDSXJDbUM7RUN1QmpDLFdBQThCLEVISi9COztBNURISDtFMERxQkUsNENJUjhDO0VKUTlDLDRCMURyQnFEO00wRHFCckQsd0IxRHJCcUQ7RStESm5ELHdDQUF1QztFQUN2QyxXQUE4QixFSE4vQjs7QTVEU0g7RTBEcUJFLCtDSXBDcUM7RUNzQm5DLFdBQThCLEVISi9COztBNURGSDtFMERvQkUsNENJUjhDO0VKUTlDLDZCMURwQnNEO00wRG9CdEQseUIxRHBCc0Q7RStETHBELHdDQUF1QztFQUN2QyxXQUE4QixFSE4vQjs7QTVEVUg7RTBEb0JFLDhDSW5DaUM7RUNxQi9CLFdBQThCLEVISi9COztBQWREO0VGZ0NBLDRDSVI4QztFSlE5QywyQjFEbkJvRDtNMERtQnBELHVCMURuQm9EO0UrRE5sRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0E1RFdIO0UwRG1CRSw4Q0lsQytCO0VDb0I3QixXQUE4QixFSEovQjs7QUFkRDtFRmdDQSw0Q0lSOEM7RUpROUMsNkJJQ2U7TUpEZix5QklDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0FBVUQ7RUZvQkEsK0NJckNtQztFQ3VCakMsV0FBOEIsRUhKL0I7O0E1RENIO0UwRGlCRSw0Q0lSOEM7RUpROUMsNkJJQ2U7TUpEZix5QklDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEIsRUhOL0I7O0E1RGFIO0UwRGlCRSwrQ0lwQ3FDO0VDc0JuQyxXQUE4QixFSEovQjs7QUFkRDtFRmdDQSwwQkFGeUI7TUFFekIsc0JBRnlCO0VNM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRUpGNUI7O0E1RGdCSDtFMERjRSx3QkFGeUI7TUFFekIsb0JBRnlCO0VNaEJ2QixXQUEyQixFSkE1Qjs7QTVES0g7RTBEYUUsMEJBRnlCO01BRXpCLHNCQUZ5QjtFTTNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVKRjVCOztBQVVEO0VGb0JBLHdCQUZ5QjtNQUV6QixvQkFGeUI7RU1oQnZCLFdBQTJCLEVKQTVCOztBQWREO0VGZ0NBLHdCQUZ5QjtNQUV6QixvQkFGeUI7RU0zQnZCLHdDQUF1QztFQUN2QyxXQUE4QixFSkYvQjs7QTVEa0JIO0UwRFlFLDBCQUZ5QjtNQUV6QixzQkFGeUI7RU1oQnZCLFdBQThCLEVKQS9COztBNURPSDtFMERXRSx3QkFGeUI7TUFFekIsb0JBRnlCO0VNM0J2Qix3Q0FBdUM7RUFDdkMsV0FBOEIsRUpGL0I7O0FBVUQ7RUZvQkEsMEJBRnlCO01BRXpCLHNCQUZ5QjtFTWhCdkIsV0FBOEIsRUpBL0I7O0E1RFVIO0UwRFFFLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7RU8zQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFTEY1Qjs7QTVEc0JIO0UwRFFFLHlCQUZ5QjtNQUV6QixxQkFGeUI7RU9o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TixFQUFBOztBQUhwTjtFQUNJLGlDQUE2QjtFQUM3Qiw4REFBNEI7RUFDNUIsa1ZBQWdOLEVBQUE7O0FBSHBOO0VBQ0ksK0JBQTZCO0VBQzdCLDJEQUE0QjtFQUM1QixvVUFBZ04sRUFBQTs7QUFIcE47RUFDSSxnQ0FBNkI7RUFDN0IscURBQTRCO0VBQzVCLDZTQUFnTixFQUFBOztBcEVsS3hOOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBR2tKQTtFSC9JRCxrREFBaUQ7RUFDakQsMkJBQTBCO0VBQzFCLCtCQUE4QjtFQUM3QixvQ0FBbUMsRUFDcEM7O0FnQjBNQzs7Ozs7O0VoQnZNRCxlSzFFd0I7RUwyRXZCLFdBQVUsRUFDWDs7QUFDRDtFQUNFLCtCQUE4QixFQUMvQjs7QUdrUUM7RUhoUUEsaUNBQStCO0VBQy9CLGtCd0VqRmdDO0V4RWtGaEMsb0JBQW1CLEVBTXBCO0VVZ0RHO0lQd01GO01INVBFLG1Cd0VwRjhCO014RXFGOUIsb0JBQW1CLEVBR3RCLEVBQUE7O0FnQmlOTztFaEIvTU4sbUJ3RTFGZ0M7RXhFMkZoQyx1QndFM0ZnQztFeEU0RmhDLG9CQUFtQixFQUtwQjtFVXVDRztJTWlLSTtNaEIzTUosbUJ3RTlGOEI7TXhFK0Y5QixvQkFBbUIsRUFFdEIsRUFBQTs7QWdCd01PO0VoQnRNTixrQndFbkdnQztFeEVvR2hDLG9CQUFtQixFQUlwQjtFVWdDRztJTWlLSTtNaEJuTUosaUJ3RXRHOEIsRXhFd0dqQyxFQUFBOztBZ0JpTU87RWhCL0xOLG1Cd0UxR2dDO0V4RTJHaEMsb0JBQW1CLEVBSXBCO0VVeUJHO0lNaUtJO01oQjVMSixrQndFN0c4QixFeEUrR2pDLEVBQUE7O0FnQjBMTztFaEJ4TE4sZXdFakhnQztFeEVrSGhDLG9CQUFtQixFQUtwQjtFVWlCRztJTWlLSTtNaEJyTEosbUJ3RXBIOEI7TXhFcUg5QixlSzlIcUIsRUxnSXhCLEVBQUE7O0FnQjZIQztFaEIzSEEsb0J3RXpIZ0M7RXhFMEhoQyx1QndFMUhnQztFeEUySGhDLFdBQVU7RUFDVixtQkFBa0IsRUFjbkI7RVVGRztJTTRHRjtN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TDtFQUNJLCtCQUE4QjtFQUM5QixtQnBETzhCO0VvRE45QixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQiwwQkFBeUI7RUFDekIsZXZIRXFCO0V1SERyQixvQkFBbUIsRUFDdEI7O0FBRUQ7RUFDSSwrQkFBOEI7RUFDOUIsb0JBQW1CLEVBQ3RCOztBekJGRDtFeUJPUSxjQUFhLEVBQ2hCOztBbEg4SEQ7RXlGdElKO0l5QllZLGNBQWEsRUFDaEI7RXpCYlQ7SXlCZ0JZLHFCQUFhO0lBQWIsY0FBYTtJdEMxQnZCLHdCc0MyQjhDO0l0QzFCOUMsdUJzQzBCOEM7SXRDekI5QyxvQnNDeUI4QyxFQVV2QztJekIzQlQ7OztNYlhFLGtCc0NnQzRDO010Qy9CNUMsaUJzQytCNEM7TXRDOUI1QyxnQnNDOEI0QztNdEM3QjVDLGFzQzZCNEMsRUFDakM7SXpCdEJiO01iWEUsaUJzQ21DMEM7TXRDbEMxQyxnQnNDa0MwQztNdENqQzFDLGVzQ2lDMEM7TXRDaEMxQyxZc0NnQzBDLEVBQy9CLEVBQUE7O0FsSDZHVDtFeUZ0SUo7SXlCK0JZLGNBQWEsRUFDaEIsRUFBQTs7QWxIc0dMO0V5RnJJQTtJeUJtQ1EsY0FBYSxFQUNoQjtFekJyQ1Q7SWJWRSxtQnNDaUR3QztJdENoRHhDLGtCc0NnRHdDO0l0Qy9DeEMsZXNDK0N3QyxFQXdCakM7SXpCNUJHO01iOUNWLGlCc0NvRHlDO010Q25EekMsZ0JzQ21EeUM7TXRDbER6Qyxlc0NrRHlDO010Q2pEekMsWXNDaUR5QztNQUMzQixrQkFBUTtVQUFSLFNBQVEsRUFDWDtJekIzQ2I7TWJYRSxpQnNDd0R5QztNdEN2RHpDLGdCc0N1RHlDO010Q3REekMsZXNDc0R5QztNdENyRHpDLFlzQ3FEeUM7TUFDM0Isa0JBQVE7VUFBUixTQUFRLEVBQ1g7SXpCSkQ7TXlCTUksbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxXQUFVO01BQ1YsV0FBVTtNQUNWLGlCQUFnQixFQUVuQjtJekJ2RGI7TXlCeURnQixtQkFBa0I7TUFDbEIsV0FBVTtNQUNWLFdBQVU7TUFDVixXQUFVO01BQ1YsaUJBQWdCLEVB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QnNDNk5vRDtVdEM1TnBELGtCc0M0Tm9EO1VBRWxDLHFCQUFhO1VBQWIsY0FBYTtVdENoTy9CLG1Cc0NpT2tEO1V0Q2hPbEQsa0JzQ2dPa0Q7VXRDL05sRCxlc0MrTmtEO1VBQ2hDLGFBQVksRUFzQ2Y7VXpCMUNHO1liL05sQixpQnNDcU9rRDtZdENwT2xELGdCc0NvT2tEO1l0Q25PbEQsZXNDbU9rRDtZdENsT2xELFlzQ2tPa0QsRUFFL0I7VXpCaklyQjtZeUJtSXdCLG9CQUFlO2dCQUFmLGdCQUFlO1lBQ2YsUUFBTztZQUVQLG9CQUFtQjtZQUNuQiwrQnZINU9ILEV1SDJQQTtZekJ0SnJCO2N5QjBJNEIsbUJBQWtCLEVBQ3JCO1l6QkpEOztjeUJPSSxlQUFjO2NBQ2QsbUJBQWtCO2NBQ2xCLG9CQUFtQjtjQUNuQixvQkFBbUI7Y0FHbkIsYUFBWSxFQUNmO1V6QnJKekI7WWJ0R0UsZXNDOFBnRDtZdEM3UGhELGNzQzZQZ0Q7WXRDNVBoRCxhc0M0UGdEO1l0QzNQaEQsVXNDMlBnRDtZQUMxQixhQUFZO1lBQ1osK0J2SC9QSDtZdUhnUUcsb0JBQW1CLEVBT3RCO1l6QmxLckI7Y3lCNko0QixxQkFBb0IsRUFJdkI7Y3pCUkc7Z0J5Qk1JLGtCQUFpQixFQUNwQixFQUFBO0VsSHJIekI7SXlGekNBO015QnFLUSxVQUFTLEVBd0JoQjtNekIvTEw7UXlCeUtnQixpQkFBZ0IsRUFvQm5CO1F6QjdMYjtVeUIyS29CLG9CcER4UWMsRW9EeVFqQjtRekI1S2pCO1V5QitLd0IsbUJwRDVRVTtVb0Q2UVYsa0JBQWlCLEVBQ3BCO1F6QmpMckI7VXlCbUx3QixnQkFBZTtVQUNmLGFBQVksRUFDZjtRekJyTHJCO1V5QndMb0Isb0JwRHJSYyxFb0R5UmpCO1V6QjVMakI7WXlCMEx3QixnQkFBZSxFQUNsQixFQUFBOztBekJHckI7RXlCTUksbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCwwQnZIM1NpQjtFdUg0U2pCLGlCQUFnQjtFQXNCaEIsMkNBQTJDLEVBOEQ5QztFekJ4Rkc7O0l5Qk9JLFlBQVcsRUFDZDtFekJKRDtJeUJN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K2dCZCxlQUFjO0lBQ2Qsa0JBQWlCLEVBQ3BCO0VsSHhvQkQ7SXlGd2tCSjtNeUJrRVEsYUFBWSxFQUtuQjtNekJuRUc7UXlCZ0VRLDhCdkg3d0JTLEV1SDh3QlosRUFBQTs7QUFLVDtFekIxRUE7SXlCNEVRLFlBQVcsRUFNZDtJekIvREQ7TXlCNERZLFlBQVcsRUFDZCxFQUFBOztBQUtiO0V6QjF4QlE7SXlCNnhCSSxZQUFXLEVBQ2Q7RXpCOWdCVDtJeUJpaEJRLGVBQWMsRUFDakIsRUFBQTs7QUFHTDtFekJ2REk7SXlCeURJLCtCQUE2QixFQUNoQyxFQUFBOztBQUdMO0V6QjN5QlE7SXlCOHlCSSxZQUFXLEVBT2Q7SXpCM3hCRztNeUJzeEJJLFdBQVUsRUFDYjtJekJ4eUJEO015QjB5QkksV0FBVSxFQUNiO0V6QjVGVDtJeUJpR1EsV0FBVSxFQUNiLEVBQUE7O0FDOTBCRDtFQUNJLGlCQUFnQixFQUNuQjs7QUFJRDtFQUNJLGNBQVksRUFDZjs7QUFWVDtFQWNRLGlCQUFnQjtFQUNoQixVQUFTLEVBQ1o7O0FBaEJMO0VBb0JRLDRCQUEyQixFQUs5QjtFQUpHOztJQUVJLGNBQWEsRUFDaEI7O0FBeEJUO0VBNkJZLG1CQUFpQixFQUNwQjs7QUE5QlQ7RUFpQ1ksY0FBYSxFQUNoQjs7QUFsQ1Q7RUFzQ2dCLGtCQUFpQixFQUlwQjtFQTFDYjtJQXdDb0IsY0FBYSxFQUNoQjs7QUFHTDtFQUVJLFlBQVUsRUFDYjs7QUEvQ2I7RUFtRFEsaUJBQWdCLEVBQ25COztBQUtMO0VBQ0ksdUJBQXFCO0VBQ3JCLG1CQUFpQjtFQUNqQix3QkFBc0I7RUFDdEIsZUFBYyxFQUlqQjtFQVJEO0lBTVEsd0JBQXNCLEVBQ3pCIiwiZmlsZSI6InN0eWxlcy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQGltcG9ydCB1cmwoXCIvL2Zhc3QuZm9udHMubmV0L3QvMS5jc3M/YXBpVHlwZT1jc3MmcHJvamVjdGlkPTEwMTJiZWRiLTMxZjgtNDVmYi1iNDU2LTkyMGRhOGExZGUyOVwiKTtcbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciwgLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLCAuc2xpZGUtaW4tdXAubXVpLWVudGVyLCAuc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLCAuc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLCAuc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSwgLnNsaWRlLW91dC11cC5tdWktbGVhdmUsIC5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUsIC5mYWRlLWluLm11aS1lbnRlciwgLmZhZGUtb3V0Lm11aS1sZWF2ZSwgLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIsIC5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLCAuc2NhbGUtaW4tdXAubXVpLWVudGVyLCAuc2NhbGUtaW4tZG93bi5tdWktZW50ZXIsIC5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLCAuc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLCAuc3Bpbi1pbi5tdWktZW50ZXIsIC5zcGluLW91dC5tdWktbGVhdmUsIC5zcGluLWluLWNjdy5tdWktZW50ZXIsIC5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mc21hbGxtZWRpdW09MzBlbSZtZWRpdW09NDhlbSZsYXJnZT02NGVtJnhsYXJnZT04MGVtJnh4bGFyZ2U9OTBlbSZ4eHhsYXJnZT0xMTguNzVlbVwiOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDkzLjEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMy4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTsgfSB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucm93LmlzLWNvbGxhcHNlLWNoaWxkLFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNtYWxsbWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5zbWFsbG1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGxtZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnNtYWxsbWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGxtZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnNtYWxsbWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5zbWFsbG1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnNtYWxsbWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5zbWFsbG1lZGl1bS11cC0xID4gLmNvbHVtbiwgLnNtYWxsbWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc21hbGxtZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTIgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuc21hbGxtZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTMgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGxtZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTQgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuc21hbGxtZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTUgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAuc21hbGxtZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTYgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTcgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGxtZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTggPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGxtZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5zbWFsbG1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5zbWFsbG1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnJvdy5zbWFsbG1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5zbWFsbG1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNtYWxsbWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsbWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5zbWFsbG1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsbWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAueGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnh4bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi5hbGlnbi10b3AsIC5hbGlnbi10b3AuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmNvbHVtbi5hbGlnbi1ib3R0b20sIC5hbGlnbi1ib3R0b20uY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5jb2x1bW4uYWxpZ24tbWlkZGxlLCAuYWxpZ24tbWlkZGxlLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmNvbHVtbi5hbGlnbi1zdHJldGNoLCAuYWxpZ24tc3RyZXRjaC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGxtZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjNjc2NzY3O1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjMEI4NjUxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMwOTczNDY7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIG1heC13aWR0aDogOTMuMTI1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NzY3Njc7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjc2NzY3OyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzJjMmYyZjtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY3Njc2NztcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNtYWxsbWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc21hbGxtZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnNtYWxsbWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNtYWxsbWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTcyNDU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDk2YjQxO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmNWY1ZjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMEI4NjUxO1xuICAgIGNvbG9yOiAjMEI4NjUxOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwNjQzMjk7XG4gICAgICBjb2xvcjogIzA2NDMyOTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBCODY1MTtcbiAgICAgIGNvbG9yOiAjMEI4NjUxOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDY0MzI5O1xuICAgICAgICBjb2xvcjogIzA2NDMyOTsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc3O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2MzYzNjO1xuICAgICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYzU4NDA7XG4gICAgICBjb2xvcjogI2VjNTg0MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODgxZjBlO1xuICAgICAgICBjb2xvcjogIzg4MWYwZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEI4NjUxO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3O1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggIzY3Njc2NztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjc2NzY3OyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY3Njc2NztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NzY3Njc7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3O1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDg4LCA2NCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaGlkZS1mb3Itc21hbGxtZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuc2hvdy1mb3Itc21hbGxtZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3Itc21hbGxtZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtYXgtd2lkdGg6IDExOC42ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWF4LXdpZHRoOiAxMTguNjg3NWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICMwQjg2NTE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwQjg2NTE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjMEI4NjUxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM2NzY3Njc7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzBCODY1MTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNjc2NzY3O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NmI0MTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjVmNWY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTMxMTY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjZmJlNzsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNmUyOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwQjg2NTE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMEI4NjUxO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMEI4NjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGxtZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGxtZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGxtZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwQjg2NTE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMEI4NjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMEI4NjUxO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjMEI4NjUxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgICAubWVudSA+IGxpID4gYSBpLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUuc21hbGxtZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZDogIzBCODY1MTsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YmVmb3JlLCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4uanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIHotaW5kZXg6IC0xO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIGxlZnQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXNtYWxsbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1zbWFsbG1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtYWxsbWVkaXVtIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtYWxsbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3Njc2NztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzBCODY1MTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICM2NzY3Njc7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDAwYWInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwYmInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3Njc2NztcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjc2NzY3O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NzI0NTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY3Njc2NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA5My4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDkzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDkzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDkzLjEyNXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICM2NzY3Njc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzBCODY1MTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMEI4NjUxOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGM5NzViOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTEsIDEzNCwgODEsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXNtYWxsbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3Itc21hbGxtZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXNtYWxsbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOC42ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTguNjg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKlxyXG4gVXNlXHJcblxyXG4uYm94IHtcclxuICAmLmFycm93LXRvcC1sZWZ0IHtAaW5jbHVkZSBhcnJvdygndG9wJywnbGVmdCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctdG9wLXJpZ2h0IHtAaW5jbHVkZSBhcnJvdygndG9wJywncmlnaHQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXRvcC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCd0b3AnLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1sZWZ0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywnbGVmdCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctYm90dG9tLXJpZ2h0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywncmlnaHQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWxlZnQtdG9wIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ3RvcCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctbGVmdC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdsZWZ0JywnY2VudGVyJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1sZWZ0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdib3R0b20nLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXJpZ2h0LXRvcCB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywndG9wJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1yaWdodC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdyaWdodCcsJ2NlbnRlcicsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctcmlnaHQtYm90dG9tIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdib3R0b20nLCAxMHB4LCAjNGZhZGUzKX1cclxufVxyXG5cclxuXHJcbi5ib3gtd2l0aC1ib3JkZXIge1xyXG4gICYuYXJyb3ctdG9wLWxlZnQge0BpbmNsdWRlIGFycm93KCd0b3AnLCdsZWZ0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXRvcC1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ3RvcCcsJ3JpZ2h0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXRvcC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCd0b3AnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctYm90dG9tLWxlZnQge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdsZWZ0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ2JvdHRvbScsJ3JpZ2h0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctbGVmdC10b3Age0BpbmNsdWRlIGFycm93KCdsZWZ0JywndG9wJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWxlZnQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ2NlbnRlcicsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy1sZWZ0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdib3R0b20nLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtdG9wIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCd0b3AnLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtYm90dG9tIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdib3R0b20nLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG59XHJcblxyXG5cclxuKioqKioqKioqKioqL1xuLyogdXNhZ2UgZXhhbXBsZVxyXG4uZGl2IHsgIFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgd2YtaWNvbiAoaWNvbiwgZm9udC1zaXplLCBjb2xvcik7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6NTBweDtcclxuICAgIGhlaWdodDo1MHB4OyAgICBcclxuICB9XHJcbn1cclxuXHJcbiovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8sIG1haW4ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy8gKi9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgYTpsaW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKipcclxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXHJcbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXHJcbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXHJcbiAqXHJcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXHJcbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXHJcbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBUYWJsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXHJcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBIZWxwZXIgY2xhc3Nlc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBtYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbmJvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IEhldXJpc3RpY2E7IH1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnVsIGxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDsgfVxuXG5pbnB1dCB7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLypsYWJlbHtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG59Ki9cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbm9uZTsgfVxuXG4udGl0bGVOYW1lUGFnZSBoMyB7XG4gIHBhZGRpbmc6IDIwcHggMCAxNXB4IDA7IH1cblxuLnBpbmtCdG4xOSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cblxuLnBpbmtCdG4yNCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7IH1cblxuLnBpbmtTdWJtaXQge1xuICBmb250LWZhbWlseTogaW50ZXJmYWNlLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNhZjE0Nzg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgLnBpbmtTdWJtaXQucG9zdENvbW1lbnQge1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcmZhY2UsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4uZnMxNiB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uYlIge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTllOWU5OyB9XG5cbi5iUkdyYXkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYjdiN2I3OyB9XG5cbi5iQiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOWU5OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmJSIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmJSR3JheSB7XG4gICAgYm9yZGVyOiBub25lOyB9IH1cblxuLyogJ+6ggCcgKi9cbi8qICfuoIEnICovXG4vKiAn7qCCJyAqL1xuLyogJ+6ggycgKi9cbi8qICfuoIQnICovXG4vKiAn7qCFJyAqL1xuLyogJ+6ghicgKi9cbi8qICfuoIcnICovXG4vKiAn7qCIJyAqL1xuLyogJ+6giScgKi9cbi8qICfuoIonICovXG4vKiAn7qCLJyAqL1xuLyogJ+6gjCcgKi9cbi8qICfuoI0nICovXG4vKiAn7qCOJyAqL1xuLyogJ+6gjycgKi9cbi8qICfuoJAnICovXG4vKiAn7qCRJyAqL1xuLyogJ+6gkicgKi9cbi8qICfuoJMnICovXG4vKiAn7qCUJyAqL1xuLyogJ+6glScgKi9cbi8qICfuoJYnICovXG4vKiAn7qCXJyAqL1xuLyogJ+6gmCcgKi9cbi8qICfuoJknICovXG4vKiAn7qCaJyAqL1xuLyogJ+6gmycgKi9cbi8qICfuoJwnICovXG4vKiAn7qCdJyAqL1xuLyogJ+6gnicgKi9cbi8qICfuoJ8nICovXG4vKiAn7qCgJyAqL1xuLyogJ+6goScgKi9cbi8qICfuoKInICovXG4vKiAn7qCjJyAqL1xuLyogJ+6gpCcgKi9cbi8qICfuoKUnICovXG4vKiAn7qCmJyAqL1xuLyogJ+6gpycgKi9cbi8qICfuoKgnICovXG4vKiAn7qCpJyAqL1xuLyogJ+6gqicgKi9cbi8qICfuoKsnICovXG4vKiAn7qCsJyAqL1xuLyogJ+6grScgKi9cbi8qICfuoK4nICovXG4vKiAn7qCvJyAqL1xuLyogJ+6gsCcgKi9cbi8qICfuoLEnICovXG4vKiAn7qCyJyAqL1xuLyogJ+6gsycgKi9cbi8qICfuoLQnICovXG4vKiAn7qC1JyAqL1xuLyogJ+6gticgKi9cbi8qICfuoLcnICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZDRlYjNmM2QtNGQ0MC00MmNjLTgwZWItMDA1YWFhY2QyZDAxLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZDRlYjNmM2QtNGQ0MC00MmNjLTgwZWItMDA1YWFhY2QyZDAxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9kZjMyNjBhOC00MjQ5LTQ4NzYtYjJlYS05ZDMwY2E4YTVkODQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2Y5OTk3MzcxLWYyYjAtNGVmZC05YWZhLWFlZGM1MjNiZGE4My53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzQ4NGMwM2RiLTZkYTQtNDEzZi04NWU3LWJmY2VkNjI3NzQ3Ni50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2UxZjliOGQ1LTI5OTAtNDkxYi05NDYxLTY0MTBhMTk3ZWViNi5zdmcjZTFmOWI4ZDUtMjk5MC00OTFiLTk0NjEtNjQxMGExOTdlZWI2XCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9lMjVlNmY0Ni05OWM5LTQ2YjctOTc4MC0zMWY1ZTM3ZWQyMGYuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9lMjVlNmY0Ni05OWM5LTQ2YjctOTc4MC0zMWY1ZTM3ZWQyMGYuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzk0ZDNmY2MwLTJhOTYtNDc3MS05MWI3LWEzOWY0ZGRkNDkxNy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvYjIzZGZjODctYmJlNC00N2ZhLWEwYjktNDU0Nzk2ZjhmNzVhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMjUzM2NiNDMtYzI2Ny00NmM1LWEyM2ItM2YzYmU1ZWIwYjUwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZjJiZjQ4OWYtZDU4Yi00NjI1LTk4MGYtODc1N2I2M2VkODNhLnN2ZyNmMmJmNDg5Zi1kNThiLTQ2MjUtOTgwZi04NzU3YjYzZWQ4M2FcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy85YjBkYmNjMy0zZmRmLTQzMjEtYWRlMy03YmUzYTU4OGViMGYuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy85YjBkYmNjMy0zZmRmLTQzMjEtYWRlMy03YmUzYTU4OGViMGYuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL2RmYTUxNzBhLTc3MjgtNDlkYS05NTBhLWI0ZWFiNTAyOWFjNy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvOTc2ZGU3MWMtYjVkMC00NGQ3LTg5ZjEtNDc0OWJkMWFjNDMyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvYmU5ZTI5YTYtMmQzZS00MTY4LThlMWYtZDg0MGQyZjU3YzkzLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvM2UxNDU5NzUtMmJmOC00YTk5LWEzNDEtZmE4OTc0MmFmNjMxLnN2ZyMzZTE0NTk3NS0yYmY4LTRhOTktYTM0MS1mYTg5NzQyYWY2MzFcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc2xpY2suZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJBdmVuaXJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXIvQXZlbmlyTFRQcm9Sb21hbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBCb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyL0F2ZW5pckxUUHJvSGVhdnkud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJBdmVuaXIgTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXIvQXZlbmlyTFRQcm9MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtcmVndWxhci13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaGV1cmlzdGljYS9oZXVyaXN0aWNhLXJlZ3VsYXItd2ViZm9udC5zdmcjSGV1cmlzdGljYVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1ib2xkLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaGV1cmlzdGljYS9oZXVyaXN0aWNhLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1ib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtYm9sZC13ZWJmb250LnN2ZyNIZXVyaXN0aWNhIEJvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEl0YWxpY1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGV1cmlzdGljYS9oZXVyaXN0aWNhLWl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC5zdmcjSGV1cmlzdGljYSBJdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJXZXNmYXJtZXJzSWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3dlc2Zhcm1lcnMtaWNvbnMvd2VzZmFybWVycy1pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMuc3ZnI1dlc2Zhcm1lcnNJY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N0b2x6bC9zdG9semwtbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQuc3ZnI1N0b2x6bCBXMDAgTGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTGlnaHRcIjtcclxuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N0b2x6bC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuICBzcmM6IHVybChcIi4uL2ZvbnRzL0hldXJpc3RpY2EtUmVndWxhci5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbkBmb250LWZhY2UgeyBcclxuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEJvbGRcIjtcclxuICBzcmM6IHVybChcIi4uL2ZvbnRzL0hldXJpc3RpY2EtQm9sZC5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgSXRhbGljXCI7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0hldXJpc3RpY2EtSXRhbGljLm90ZicpIGZvcm1hdChcIm90ZlwiKTtcclxufVxyXG4qL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBwYWRkaW5nOiAwOyB9XG5cbmgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4zNzVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4zNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTgxODJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjg3NWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICBjb2xvcjogIzBCODY1MTsgfSB9XG5cbnAge1xuICBmb250LXNpemU6IDEuMDYyNWVtO1xuICBsaW5lLWhlaWdodDogMS40NzA1OWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDRlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7IH0gfVxuICBwIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgcCAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICBjb2xvcjogIzJjMmYyZjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIHAgPiBhOmhvdmVyLCBwID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG51bCwgb2wge1xuICBtYXJnaW46IDAgMCAxZW0gMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICB1bCwgb2wge1xuICAgICAgbWFyZ2luOiAwIDAgMS4xODc1ZW0gMS4xODc1ZW07IH0gfVxuXG51bCBsaSwgb2wgbGkge1xuICBmb250LXNpemU6IDEuMDYyNWVtO1xuICBsaW5lLWhlaWdodDogMS41NjI1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHVsIGxpLCBvbCBsaSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40NDQ0NGVtOyB9IH1cblxubGkgdWwsIGxpIG9sIHtcbiAgbWFyZ2luOiAwLjVlbSAwIDAuNWVtIDEuMTg3NWVtOyB9XG5cbmxpIHVsIGxpLCBsaSBvbCBsaSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4xODc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGxpIHVsIGxpLCBsaSBvbCBsaSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfSB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOyB9XG5cbm9sIG9sIHtcbiAgbGlzdC1zdHlsZTogdXBwZXItYWxwaGE7IH1cblxub2wgb2wgb2wge1xuICBsaXN0LXN0eWxlOiBsb3dlci1yb21hbjsgfVxuXG5vbCBvbCBvbCBvbCB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ3MDU5ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBxdW90ZXM6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDIwcHggMDtcbiAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCAjMDBlODYyOyB9XG4gIGJsb2NrcXVvdGU6YmVmb3JlLCBxOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBibG9ja3F1b3RlOmFmdGVyLCBxOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBibG9ja3F1b3RlLCBxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDE1cHggc29saWQgIzAwZTg2MjtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgbWF4LXdpZHRoOiA5MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgYmxvY2txdW90ZSwgcSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43MzA3N2VtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDIzcHggc29saWQgIzAwZTg2MjtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgbWF4LXdpZHRoOiA5MCU7IH0gfVxuXG50YWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTsgfSB9XG4gIHRhYmxlIGNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OTk5ZW07IH1cbiAgdGFibGUgdGgsIHRhYmxlIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfVxuICB0YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZDogIzk2OTc5NzsgfVxuICB0YWJsZSB0ci5oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQ6ICNlN2Y0Zjk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5Njk3OTc7IH1cbiAgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gIHRhYmxlIHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdmNGY5OyB9XG4gIHRhYmxlIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMwMGU4NjI7IH1cblxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG4ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuMTg3NWVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTsgfSB9XG5cbmkge1xuICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5hcnRpY2xlID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICBodG1sIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IH0gfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgYm9keS5mdHItZml4IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuI21haW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbiNtYWluOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbiNtYWluLm92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI21haW4ub3ZlcmxheTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICAgIG9wYWNpdHk6IC4zNTsgfVxuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIC5jb250YWluZXIgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuc2VjdGlvbiB7XG4gIG1hcmdpbjogMDsgfVxuICBzZWN0aW9uLmdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlYmYwZjE7IH1cbiAgc2VjdGlvbi5wYW5lbHMge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICBzZWN0aW9uLnBhbmVscyB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHNlY3Rpb24ucGFuZWxzIHtcbiAgICAgICAgcGFkZGluZzogNDVweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLnBhbmVscyB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgc2VjdGlvbi5wYW5lbHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzVweDsgfSB9XG4gIHNlY3Rpb24uaW5kZW50LW1lZGl1bSB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgICAgc2VjdGlvbi5pbmRlbnQtbWVkaXVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzQ1cHg7IH0gfVxuICBzZWN0aW9uLmluZGVudC1zbWFsbCB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLmluZGVudC1zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIHNlY3Rpb24uaW5kZW50LXNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDYwcHg7IH0gfVxuICBzZWN0aW9uLnNwYWNlZCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbmEge1xuICBjb2xvcjogIzYxNjM2MztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idG4uY2xvc2Uge1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tY2xvc2UucG5nXCIpIG5vLXJlcGVhdCA1cHggOHB4OyB9XG4gIC5idG4uY2xvc2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pY29ucy9pY29uLWNsb3NlLWFjdGl2ZS5wbmdcIikgbm8tcmVwZWF0IDVweCA4cHg7IH1cblxuLmJ0bi5maWx0ZXIge1xuICBjb2xvcjogIzYxNjM2MztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzY0NjQ2NDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5idG4uZmlsdGVyOmhvdmVyLCAuYnRuLmZpbHRlcjpmb2N1cywgLmJ0bi5maWx0ZXI6YWN0aXZlIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMDBlODYyO1xuICAgIGJhY2tncm91bmQ6ICMwMGU4NjI7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi5pbnZlcnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogI2VjNjcxYzsgfVxuICAuYnRuLmludmVydDpob3ZlciwgLmJ0bi5pbnZlcnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICNlYzY3MWM7IH1cbiAgLmJ0bi5pbnZlcnQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNlYzY3MWM7IH1cblxuLmJ0bi1zdWJtaXQge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLW8tYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogODBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgLmJ0bi1zdWJtaXQ6YWN0aXZlLCAuYnRuLXN1Ym1pdDp2aXNpdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyOyB9XG4gIC5idG4tc3VibWl0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjE2MzYzOyB9XG5cbi5idG5GaWx0ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi5idG5GaWx0ZXIgc3BhbiB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5wYWdlLWludHJvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZWJmMGYxO1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtaW50cm8gPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtaW50cm8gLnd5c2l3eWcgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhZ2UtaW50cm8gLnd5c2l3eWcgPiBkaXYgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1pbnRybyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWludHJvIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnBhZ2UtaW50cm8ge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucGFnZS1pbnRybyB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgLnBhZ2UtaW50cm8ge1xuICAgICAgcGFkZGluZy10b3A6IDEwNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQycHg7IH0gfVxuICAucGFnZS1pbnRybyBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnZS1pbnRybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDEuNzVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgIC5wYWdlLWludHJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjYyNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWludHJvIHAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1pbnRybyBwIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAucGFnZS1pbnRybyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucGFnZS1pbnRyby5zaGFsbG93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5ZW07IH1cblxuLnJvdW5kLWltZyB7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODAlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgLW8tYm9yZGVyLXJhZGl1czogODAlO1xuICBib3JkZXItcmFkaXVzOiA4MCU7IH1cblxuLnJlc3AtaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jb250ZW50LXBhZ2Ugc3Ryb25nLCAucm93LXNlY3Rpb24gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29udGVudC1wYWdlIC5yb3csIC5yb3ctc2VjdGlvbiAucm93IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4uY29udGVudC1wYWdlIC5yb3cuZ2FsbGVyeS1pbmZvLCAucm93LXNlY3Rpb24gLnJvdy5nYWxsZXJ5LWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC5yb3cuZ2FsbGVyeS1pbmZvLCAucm93LXNlY3Rpb24gLnJvdy5nYWxsZXJ5LWluZm8ge1xuICAgICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggYXV0byA4MHB4IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNvbnRlbnQtcGFnZSAucm93LmdhbGxlcnktaW5mbywgLnJvdy1zZWN0aW9uIC5yb3cuZ2FsbGVyeS1pbmZvIHtcbiAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMTIwcHggYXV0bzsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnJvdy5nYWxsZXJ5LWluZm8gYWJiciwgLnJvdy1zZWN0aW9uIC5yb3cuZ2FsbGVyeS1pbmZvIGFiYnIge1xuICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEyNzlweCkge1xuICAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlIC5jb2x1bW5zLFxuICAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cblxuI21haW4gLmludmVzdG9ycyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH1cbiAgI21haW4gLmludmVzdG9ycyAucGFnZS1pbnRybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgIzAwZTg2MjsgfVxuICAgICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluIC5pbnZlc3RvcnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICNtYWluIC5pbnZlc3RvcnMge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAjbWFpbiAuaW52ZXN0b3JzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICMwMGU4NjI7IH1cbiAgICAgICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG46Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc3Vic2NyaWJlIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zdWJzY3JpYmUgOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnN1YnNjcmliZSA6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zdWJzY3JpYmUgOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc3Vic2NyaWJlIDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKlxyXG4vLyBzdGlja3kgZm9vdGVyXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gIGh0bWwsIGJvZHkge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAjd3JhcHBlciB7XHJcbiAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgI21haW4ge1xyXG4gICAgICBtaW4taGVpZ2h0OjEwMCU7XHJcbiAgfVxyXG5cclxuXHJcbn0qL1xudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQsIG5hdiAuZ2xvYmFsLFxubmF2IC51dGlsLCBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2LCAuY29udGVudC1uYXYgdWwsIC5yZWxhdGVkLWNvbnRlbnQgdWwsIGZvb3RlciBuYXYgdWwsIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCwgLmhvbWUtbmV3cy1saXN0IHVsLCAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCwgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCwgLmdhbGxlcnktZmlsdGVyIC5vcHRpb25zLCAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMgbGkgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uYnRuIHtcbiAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM2NzFjO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4xODc1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAuYnRuOmhvdmVyLCAuYnRuOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnRuOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi51aS1kYXRlcGlja2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogOHB4O1xuICB6LWluZGV4OiAxMDA1ICFpbXBvcnRhbnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICAudWktZGF0ZXBpY2tlci1oZWFkZXIgYSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC51aS1kYXRlcGlja2VyLWhlYWRlciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgICAudWktZGF0ZXBpY2tlci1oZWFkZXIgYS51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1kYXRlcGlja2VyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb25zL2ljb24tYXJ3LWxmdC13aHQucG5nKSBuby1yZXBlYXQgY2VudGVyOyB9XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29ucy9pY29uLWFydy1yZ2h0LXdodC5wbmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cblxuLnVpLWRhdGVwaWNrZXItbW9udGgsIC51aS1kYXRlcGlja2VyLXllYXIge1xuICB3aWR0aDogNjVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZTVlN2U4O1xuICBwYWRkaW5nOiAycHggMjBweCAycHggMnB4O1xuICBtYXJnaW46IDVweCAwIDAgMDtcbiAgZm9udC1mYW1pbHk6IFwic29sZWlsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qUmVtb3ZlcyBkZWZhdWx0IGNocm9tZSBhbmQgc2FmYXJpIHN0eWxlKi9cbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBSZW1vdmVzIERlZmF1bHQgRmlyZWZveCBzdHlsZSovXG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9pY29ucy9pY29uLS11aS1jYWwtZG93bi5wbmcpIG5vLXJlcGVhdDtcbiAgLypBZGRzIGJhY2tncm91bmQtaW1hZ2UqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4O1xuICAvKlBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlKi9cbiAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgLyogUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXG4gIHRleHQtb3ZlcmZsb3c6IFwiXCI7XG4gIC8qUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovIH1cblxuLnVpLWRhdGVwaWNrZXItbW9udGg6Oi1tcy1leHBhbmQsIC51aS1kYXRlcGlja2VyLXllYXI6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1jc3Njb2x1bW5zIC51aS1kYXRlcGlja2VyLW1vbnRoLCAubm8tY3NzY29sdW1ucyAudWktZGF0ZXBpY2tlci15ZWFyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogNXB4OyB9XG5cbi51aS1kYXRlcGlja2VyLW1vbnRoIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGhlYWQgdHIsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGgsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGgudWktZGF0ZXBpY2tlci10b2RheSxcbiAgICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZC51aS1kYXRlcGlja2VyLXRvZGF5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7IH1cbiAgICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoLnVpLWRhdGVwaWNrZXItdG9kYXkgYSxcbiAgICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkLnVpLWRhdGVwaWNrZXItdG9kYXkgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIHtcbiAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUge1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1kYXRlcGlja2VyLW90aGVyLW1vbnRoIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG50ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IGEge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMWM2ODAyOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLnNsaWNrLXNsaWRlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltZy9pY29ucy9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjc1OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2VjNjcxYztcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzI4MjgyODtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIGhlYWRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgaGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZzogOXB4IDAgMjBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZzogMTVweCAwIDAgMDsgfSB9XG4gIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgaGVhZGVyIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjU2MHB4OyB9IH1cbiAgaGVhZGVyIC5sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwNHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIGhlYWRlciAubG9nbyA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93Zi1sb2dvLnN2Z1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGhlYWRlciAubG9nbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMjJweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgaGVhZGVyIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBoZWFkZXIgLmxvZ28ge1xuICAgICAgICB3aWR0aDogMTU2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjA7IH1cbiAgICAgICAgaGVhZGVyIC5sb2dvID4gYSB7XG4gICAgICAgICAgaGVpZ2h0OiA2NHB4OyB9IH1cbiAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjgyODI4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7IH1cbiAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtN3B4IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IGxlZ2VuZCxcbiAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTk5ZW07IH1cbiAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG4gICAgICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IC5mb3JtLXJvdyBpbnB1dFt0eXBlPSd0ZXh0J106aG92ZXIsIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IC5mb3JtLXJvdyBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICM5Njk3OTc7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDVweCAycHg7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2FjYmNiO1xuICAgICAgICAgICAgICB3aWR0aDogMTIuNWVtOyB9XG4gICAgICAgICAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddOmhvdmVyLCBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgICAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfSB9XG4gICAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgIGNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICMyYzJmMmY7IH0gfVxuICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGkge1xuICAgICAgICAgICAgY29sb3I6ICMzYzNlM2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDY4JTsgfSB9XG4gIGhlYWRlciAuYnVyZ2VyLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzNHB4O1xuICAgIGJvdHRvbTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIGhlYWRlciAuYnVyZ2VyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIGhlYWRlciAuYnVyZ2VyLWJ1dHRvbiAuYnVyZ2VyLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICAgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbiwgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbjo6YmVmb3JlLCBoZWFkZXIgLmJ1cmdlci1idXR0b24gLmJ1cmdlci1pY29uOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW1vei10cmFuc2Zvcm07XG4gICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC1vLXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAgICAgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbjo6YmVmb3JlLCBoZWFkZXIgLmJ1cmdlci1idXR0b24gLmJ1cmdlci1pY29uOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjsgfVxuICAgICAgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtN3B4OyB9XG4gICAgICBoZWFkZXIgLmJ1cmdlci1idXR0b24gLmJ1cmdlci1pY29uOjphZnRlciB7XG4gICAgICAgIHRvcDogN3B4OyB9XG4gICAgaGVhZGVyIC5idXJnZXItYnV0dG9uLmlzLWFjdGl2ZSAuYnVyZ2VyLWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBoZWFkZXIgLmJ1cmdlci1idXR0b24uaXMtYWN0aXZlIC5idXJnZXItaWNvbjo6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICBoZWFkZXIgLmJ1cmdlci1idXR0b24uaXMtYWN0aXZlIC5idXJnZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7IH1cblxuaGVhZGVyLmhvbWUge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG4gIGhlYWRlci5ob21lIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgaGVhZGVyLmhvbWUgLmJ1cmdlci1idXR0b24ge1xuICAgIGJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaGVhZGVyLmhvbWUge1xuICAgICAgbWluLWhlaWdodDogOTBweDsgfVxuICAgICAgaGVhZGVyLmhvbWUgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGhlYWRlci5ob21lIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7XG4gICAgICBtaW4taGVpZ2h0OiBub25lO1xuICAgICAgbWF4LWhlaWdodDogMTYwcHg7IH1cbiAgICAgIGhlYWRlci5ob21lIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgaGVhZGVyLmhvbWUgLmxvZ28ge1xuICAgICAgd2lkdGg6IDE3NXB4OyB9XG4gICAgICBoZWFkZXIuaG9tZSAubG9nbyA+IGEge1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgIGhlYWRlci5ob21lIC5sb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogMjA1cHg7IH1cbiAgICAgIGhlYWRlci5ob21lIC5sb2dvID4gYSB7XG4gICAgICAgIGhlaWdodDogODBweDsgfSB9XG5cbi8qXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBuYXYgLmludmVzdG9ycyAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrIWltcG9ydGFudDtcclxuICAgICAgICAvL3dpZHRoOjEwMCUhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiovXG4ubmF2LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDFweCk7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMzIwcHg7XG4gIHdpZHRoOiAzMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm5hdi13cmFwcGVyIHtcbiAgICAgIHJpZ2h0OiAtMzIwcHg7XG4gICAgICB3aWR0aDogMzIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLm5hdi13cmFwcGVyIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAubmF2LXdyYXBwZXIubWJsLWFjdGl2ZSB7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiA5OTk5OTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5uYXYtd3JhcHBlci5tYmwtYWN0aXZlIHtcbiAgICAgICAgcmlnaHQ6IDBweDsgfSB9XG5cbm5hdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxubmF2OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbm5hdiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuXG5uYXYgLm1lbnUtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIG1hcmdpbjogNHB4IDMwcHggMzBweDtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBjb2xvcjogIzYxNjM2MztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYxNjM2MzsgfVxuXG5uYXYgLmdsb2JhbCxcbm5hdiAudXRpbCB7XG4gIHBhZGRpbmc6IDAgMzBweDsgfVxuICBuYXYgLmdsb2JhbDpiZWZvcmUsXG4gIG5hdiAudXRpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgbmF2IC5nbG9iYWw6YWZ0ZXIsXG4gIG5hdiAudXRpbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLFxuICBuYXYgLnV0aWwgPiBsaSB7XG4gICAgcGFkZGluZzogMCAwIDEuMTI1ZW0gMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IEhldXJpc3RpY2E7XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpOmJlZm9yZSxcbiAgICBuYXYgLnV0aWwgPiBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpOmFmdGVyLFxuICAgIG5hdiAudXRpbCA+IGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW4sXG4gICAgbmF2IC5nbG9iYWwgPiBsaSA+IGEsXG4gICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLFxuICAgIG5hdiAudXRpbCA+IGxpID4gYSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpID4gc3Bhbi5hY3RpdmUsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYTpob3ZlcixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmZvY3VzLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IGEuYWN0aXZlLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmhvdmVyLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmZvY3VzLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLmFjdGl2ZSxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYTpob3ZlcixcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYTpmb2N1cyxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYS5hY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0NTBtcztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xuICAgICAgei1pbmRleDogNjsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAucm93LFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSBzcGFuLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSBhLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIGEge1xuICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiOyB9XG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3BhbixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5tZW51LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICMwQjg2NTE7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwQjg2NTE7XG4gICAgICAgIG1hcmdpbjogMTRweCAxMHB4IDMwcHg7IH1cblxubmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLnJvdyAuY29sdW1ucyAucm93IHtcbiAgbWF4LXdpZHRoOiAxNDgwcHg7IH1cblxuLypcclxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgbmF2IHt9XHJcbn1cclxuKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgbmF2IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMTVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4xNXJlbTsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLFxuICBuYXYgLnV0aWwgPiBsaSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIG5hdiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIG5hdiB7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgPiAucm93IHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLmdsb2JhbC1zdWItbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgbmF2IC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cbiAgICBuYXYgLmNvbHVtbnMge1xuICAgICAgZmxleDogMSBhdXRvOyB9XG4gICAgICBuYXYgLmNvbHVtbnMgLmdsb2JhbC1zdWItbmF2LFxuICAgICAgbmF2IC5jb2x1bW5zIC5zdWItdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4OyB9XG4gICAgbmF2IC5tZW51LXRpdGxlLFxuICAgIG5hdiAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgbmF2IC5nbG9iYWwsXG4gICAgbmF2IC51dGlsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSA+IGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzgxMjVlbTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IGEsIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzID4gYSwgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGk6aG92ZXIgPiBhLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICAgIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gYSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBhOmFmdGVyLCBuYXYgLmdsb2JhbCA+IGxpLmFjdGl2ZSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgPiBhOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGk6Zm9jdXMgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gYTphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YixcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIge1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAzMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgIHdpZHRoOiAxMDUlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0NXB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAubmF2LWxpc3QsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLm5hdi1saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4OyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IDEgMCAyMDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggI2NhY2JjYiBzb2xpZDsgfVxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayA+IC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlID4gaW1nLFxuICAgICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsgPiAuaW1hZ2U6YmVmb3JlLFxuICAgICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzOyB9XG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmhvdmVyID4gLmltYWdlID4gaW1nLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmZvY3VzID4gLmltYWdlID4gaW1nLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpob3ZlciA+IC5pbWFnZSA+IGltZyxcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbms6Zm9jdXMgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmhvdmVyID4gLmltYWdlOmJlZm9yZSwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpmb2N1cyA+IC5pbWFnZTpiZWZvcmUsXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmhvdmVyID4gLmltYWdlOmJlZm9yZSxcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbms6Zm9jdXMgPiAuaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMzM7IH1cbiAgICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpob3ZlciA+IHAsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbms6Zm9jdXMgPiBwLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpob3ZlciA+IHAsXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmZvY3VzID4gcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMGNmNTc7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHAsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyBwIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGksXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzLCBib3JkZXIgLjNzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4ICNjYWNiY2Igc29saWQ7IH1cbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuLFxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW4sXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjY2FjYmNiIHNvbGlkOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQ6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZDpmb2N1cywgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLmFjdGl2ZSxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQ6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZC5hY3RpdmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYSwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3BhbixcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciArIGxpLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzICsgbGksIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlICsgbGksXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyICsgbGksXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzICsgbGksXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSArIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgbmF2IC5nbG9iYWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46YmVmb3JlLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGk6aG92ZXIgc3BhbiwgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciBhLCBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzIHNwYW4sIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgYSwgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgc3BhbiwgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwQjg2NTE7IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpOmhvdmVyIHNwYW46YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGk6aG92ZXIgYTphZnRlciwgbmF2IC5nbG9iYWwgPiBsaTpmb2N1cyBzcGFuOmFmdGVyLCBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzIGE6YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGkuYWN0aXZlIHNwYW46YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGkuYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciAuZ2xvYmFsLXN1YiwgbmF2IC5nbG9iYWwgPiBsaTpmb2N1cyAuZ2xvYmFsLXN1YiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLm5hdi1saXN0LWludmVzdG9ycyA+IC5yb3c6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5uYXYtbGlzdC1pbnZlc3RvcnMgPiAucm93Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdzsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuc3ViLXRpdGxlICsgLmdsb2JhbC1zdWItbmF2IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gc3BhbixcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBhIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gc3BhbjpiZWZvcmUsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM2MTYzNjM7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmltYWdlLWxpbmsge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDk1cHg7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWItaW50cm8ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAucm93IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5pbnYtY2VudHJlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45MDYyNWVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmludi1jZW50cmU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCLuoLNcIjtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5pbnYtY2VudHJlOmhvdmVyLCBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZTpmb2N1cywgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmludi1jZW50cmUuYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMwMGNmNTc7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgbmF2IC51dGlsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIG5hdiAudXRpbCA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAgIG5hdiAudXRpbCA+IHNwYW46YmVmb3JlLFxuICAgICAgICBuYXYgLnV0aWwgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICBuYXYgLnV0aWwgPiBzcGFuOmFmdGVyLFxuICAgICAgICBuYXYgLnV0aWwgPiBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIG5hdiAudXRpbCA+IHNwYW46aG92ZXIsIG5hdiAudXRpbCA+IHNwYW46Zm9jdXMsXG4gICAgICAgIG5hdiAudXRpbCA+IGE6aG92ZXIsXG4gICAgICAgIG5hdiAudXRpbCA+IGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjMEI4NjUxOyB9XG4gICAgICBuYXYgLnV0aWwgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICBuYXYgLnV0aWwgPiBsaSA+IHNwYW4sXG4gICAgICAgIG5hdiAudXRpbCA+IGxpID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtOyB9XG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAqLyB9XG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWI6YmVmb3JlLCBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgbmF2IC51dGlsID4gbGk6aG92ZXIgLmdsb2JhbC1zdWI6YmVmb3JlLCBuYXYgLnV0aWwgPiBsaTpob3ZlciAuZ2xvYmFsLXN1YjphZnRlciwgbmF2IC51dGlsID4gbGk6Zm9jdXMgLmdsb2JhbC1zdWI6YmVmb3JlLCBuYXYgLnV0aWwgPiBsaTpmb2N1cyAuZ2xvYmFsLXN1YjphZnRlciwgbmF2IC51dGlsID4gbGkuYWN0aXZlIC5nbG9iYWwtc3ViOmJlZm9yZSwgbmF2IC51dGlsID4gbGkuYWN0aXZlIC5nbG9iYWwtc3ViOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgbmF2IC51dGlsID4gbGk6aG92ZXIgPiBzcGFuLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaTpob3ZlciA+IGEsIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGk6Zm9jdXMgPiBhLCBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzBCODY1MTsgfVxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaTpmb2N1cyA+IGE6YWZ0ZXIsIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyIC5nbG9iYWwtc3ViLCBuYXYgLnV0aWwgPiBsaTpmb2N1cyAuZ2xvYmFsLXN1YiwgbmF2IC51dGlsID4gbGkuYWN0aXZlIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgbmF2IC51dGlsID4gbGkuZXhjID4gc3BhbjphZnRlcixcbiAgICAgIG5hdiAudXRpbCA+IGxpLmV4YyA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLyogbmFzdHkgc3BlY2lmaWMgaGFjayAqL1xuICAuaG9tZSBuYXYgLnV0aWwgPiBsaTpob3ZlciA+IHNwYW46YWZ0ZXIsXG4gIC5ob21lIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gYTphZnRlciwgLmhvbWUgbmF2IC51dGlsID4gbGk6Zm9jdXMgPiBzcGFuOmFmdGVyLFxuICAuaG9tZSBuYXYgLnV0aWwgPiBsaTpmb2N1cyA+IGE6YWZ0ZXIsIC5ob21lIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IHNwYW46YWZ0ZXIsXG4gIC5ob21lIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIsXG4gIC5ob21lIG5hdiAuZ2xvYmFsID4gbGk6aG92ZXIgPiBzcGFuOmFmdGVyLFxuICAuaG9tZSBuYXYgLmdsb2JhbCA+IGxpOmhvdmVyID4gYTphZnRlcixcbiAgLmhvbWUgbmF2IC5nbG9iYWwgPiBsaTpmb2N1cyA+IHNwYW46YWZ0ZXIsXG4gIC5ob21lIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBhOmFmdGVyLFxuICAuaG9tZSBuYXYgLmdsb2JhbCA+IGxpLmFjdGl2ZSA+IHNwYW46YWZ0ZXIsXG4gIC5ob21lIG5hdiAuZ2xvYmFsID4gbGkuYWN0aXZlID4gYTphZnRlciB7XG4gICAgYm90dG9tOiAtNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICBuYXYgLmdsb2JhbCA+IGxpID4gc3BhbixcbiAgbmF2IC5nbG9iYWwgPiBsaSA+IGEsXG4gIG5hdiAudXRpbCA+IGxpID4gc3BhbixcbiAgbmF2IC51dGlsID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAwLjg0Mzc1ZW07XG4gICAgbWluLWhlaWdodDogNjJweDsgfVxuICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLFxuICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHtcbiAgICAgIG1heC13aWR0aDogNDMwcHg7XG4gICAgICBmbGV4OiAxIDAgNDMwcHg7IH1cbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gcCxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7IH1cbiAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBzcGFuLFxuICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IGEge1xuICAgIG1hcmdpbi1sZWZ0OiAxNHB4OyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBzcGFuOmJlZm9yZSxcbiAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IGE6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICBuYXYgLmdsb2JhbCA+IGxpID4gYSxcbiAgbmF2IC51dGlsID4gbGkgPiBzcGFuLFxuICBuYXYgLnV0aWwgPiBsaSA+IGEge1xuICAgIG1hcmdpbi1yaWdodDogMzZweDtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBmb250LXNpemU6IDAuOTM3NWVtOyB9XG4gIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViLWludHJvIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IHNwYW4sXG4gIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IHNwYW46YmVmb3JlLFxuICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gYTpiZWZvcmUge1xuICAgICAgbGVmdDogLTI4cHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7IH1cbiAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWItaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgbWluLXdpZHRoOiA0OTJweDtcbiAgICBmbGV4OiAxIDAgNDkycHg7IH1cbiAgbmF2IC51dGlsID4gbGkgc3BhbixcbiAgbmF2IC51dGlsID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAwLjc4MTI1ZW07IH0gfVxuXG5uYXYgLmdsb2JhbC1zdWIgLmNvbHVtbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1pbi1vdXQ7IH1cblxubmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gcCB7XG4gICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzJjMmYyZjsgfVxuXG5uYXYgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjg0Mzc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDEwcHggMTBweCAwO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgLjRzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlICsgLmdsb2JhbC1zdWItbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjRzIGVhc2UtaW4tb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSArIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cblxubmF2IC5nbG9iYWwtc3ViIC5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5pcy1hY3RpdmUgLnN1Yi10aXRsZSArIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDsgfVxuXG5uYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiBsaSB7XG4gICAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgbGkgPiBhLFxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgbGkgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IGxpID4gYTpob3ZlciwgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiBsaSA+IGE6Zm9jdXMsXG4gICAgICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IGxpID4gc3Bhbjpob3ZlcixcbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgbGkgPiBzcGFuOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiBsaSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTg3NWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICBuYXYgLmdsb2JhbC1zdWIge1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ5MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWI6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA5OTk5cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICBmb250LXNpemU6IDAuODQzNzVlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjE2MzYzOyB9XG4gICAgICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSArIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgbmF2IC5nbG9iYWwtc3ViIC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIG5hdiAuaW52ZXN0b3JzIC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgbmF2IC5pbnZlc3RvcnMgLnJvdyAucm93IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBuYXYgLmludmVzdG9ycyAucm93IC5yb3cgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5zdWItdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTgwNCc7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICBjb2xvcjogIzBCODY1MTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSAuc3ViLXRpdGxlIHtcbiAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi1uYXYgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi1uYXYgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGU4MDQnO1xuICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgMDsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi1uYXY6aG92ZXIgPiBhLCBuYXYgLmdsb2JhbC1zdWIgLnN1Yi1uYXY6Zm9jdXMgPiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5zdWItbmF2LmlzLWFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi1uYXYuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7IH0gfVxuXG4uaW52LWNlbnRyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAyMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5pbnYtY2VudHJlOmhvdmVyLCAuaW52LWNlbnRyZTpmb2N1cywgLmludi1jZW50cmUuYWN0aXZlIHtcbiAgICBjb2xvcjogIzYxNjM2MztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmludi1jZW50cmUge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICAgICAgLW8tdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cblxuLm1ibC1iYWNrIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzYyNjQ2NDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDMwcHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5tYmwtYmFjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1ibC1iYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tYmwtYmFjazpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGxlZnQ6IC01cHg7XG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5tYmwtYmFjayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIG5hdiAuZ2xvYmFsIC5pbnZlc3RvcnMgLmdsb2JhbC1zdWItaW50cm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogLTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAubmF2LXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMDBweDsgfVxuICBuYXYgLm1lbnUtdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgbmF2IC5nbG9iYWwgPiBsaSxcbiAgbmF2IC51dGlsID4gbGkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7XG4gICAgbWFyZ2luOiAwIC01cHg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpID4gc3BhbixcbiAgICBuYXYgLmdsb2JhbCA+IGxpID4gYSxcbiAgICBuYXYgLnV0aWwgPiBsaSA+IHNwYW4sXG4gICAgbmF2IC51dGlsID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgcGFkZGluZzogOHB4IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE4NzVlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuOmhvdmVyLCBuYXYgLmdsb2JhbCA+IGxpID4gc3Bhbjpmb2N1cywgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW4uYWN0aXZlLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IGE6aG92ZXIsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYTpmb2N1cyxcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhLmFjdGl2ZSxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gc3Bhbjpob3ZlcixcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gc3Bhbjpmb2N1cyxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gc3Bhbi5hY3RpdmUsXG4gICAgICBuYXYgLnV0aWwgPiBsaSA+IGE6aG92ZXIsXG4gICAgICBuYXYgLnV0aWwgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICBuYXYgLnV0aWwgPiBsaSA+IGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgcGFkZGluZzogMTVweCAyNnB4IDE1cHggNXB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2MTYzNjM7IH1cbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZTphZnRlcixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5zdWItdGl0bGU6YWZ0ZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDE1cHggNy41cHg7XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzOyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGUsXG4gICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSAuc3ViLXRpdGxlIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSAuc3ViLXRpdGxlOmFmdGVyLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSAuc3ViLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSArIC5jb2x1bW5zIC5zdWItdGl0bGUsXG4gICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSArIC5jb2x1bW5zIC5zdWItdGl0bGUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLm1lbnUtdGl0bGUsXG4gICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLm1lbnUtdGl0bGUge1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuc3ViLW5hdi5pcy1hY3RpdmU6aG92ZXIgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuc3ViLW5hdi5pcy1hY3RpdmU6Zm9jdXMgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuc3ViLW5hdi5pcy1hY3RpdmUuYWN0aXZlID4gYSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLnN1Yi1uYXYuaXMtYWN0aXZlOmhvdmVyID4gYSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLnN1Yi1uYXYuaXMtYWN0aXZlOmZvY3VzID4gYSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLnN1Yi1uYXYuaXMtYWN0aXZlLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdixcbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYsXG4gICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2LFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGksXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEsXG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEsXG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBhLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW4sXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDEwcHggNXB4OyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBhOmFmdGVyLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmaXJzdC1jaGlsZCxcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZpcnN0LWNoaWxkLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2MTYzNjM7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSxcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIsXG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW4sIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYSxcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW4sXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3BhbixcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGEsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3BhbixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW4sXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gYSxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3Bhbjpmb2N1cywgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3Bhbjpmb2N1cywgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3Bhbjpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46Zm9jdXMge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSxcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgLmdsb2JhbC1zdWItbmF2ID4gbGksXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIC5nbG9iYWwtc3ViLW5hdiA+IGxpLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgLmdsb2JhbC1zdWItbmF2ID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZCxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IGEsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6aG92ZXIgPiBzcGFuLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6Zm9jdXMgPiBhLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmZvY3VzID4gc3BhbiwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpLmFjdGl2ZSA+IGEsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdikuYWN0aXZlID4gc3BhbixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6aG92ZXIgPiBhLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IHNwYW4sXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmZvY3VzID4gYSxcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6Zm9jdXMgPiBzcGFuLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KS5hY3RpdmUgPiBhLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KS5hY3RpdmUgPiBzcGFuLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmhvdmVyID4gc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6Zm9jdXMgPiBhLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpmb2N1cyA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpLmFjdGl2ZSA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpmb2N1cyA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpmb2N1cyA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KS5hY3RpdmUgPiBhLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdikuYWN0aXZlID4gc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7IH1cbiAgbmF2IC5nbG9iYWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2MTYzNjM7IH1cbiAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IHtcbiAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmludi1jZW50cmUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjE2MzYzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE4NzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAzMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiBub25lO1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmludi1jZW50cmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZTpob3ZlcixcbiAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZTpmb2N1cyBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZS5hY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMwMGI1NGM7IH1cbiAgbmF2IC51dGlsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIGhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGhlYWRlcixcbiAgaGVhZGVyIC5jb250YWluZXIsXG4gIC5sb2dvIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDsgfVxuICBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGk6aG92ZXIgLmdsb2JhbC1zdWIsXG4gIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaTpob3ZlciA+IHNwYW46YWZ0ZXIsXG4gIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGk6aG92ZXIgLmdsb2JhbC1zdWIsXG4gIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGk6aG92ZXIgPiBzcGFuOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2UtaW4tb3V0OyB9XG4gICNtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxMjZweDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgLnN0aWNreS1oZWFkZXIgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDsgfVxuICAuc3RpY2t5LWhlYWRlciBoZWFkZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7IH1cbiAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTFweCk7IH1cbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5sb2dvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIycHgpIHNjYWxlKDAuNik7IH1cbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMXB4KSAhaW1wb3J0YW50OyB9XG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gc3BhbjphZnRlcixcbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExcHgpICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWUgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDE2MHB4OyB9XG4gICNob21lLnN0aWNreS1oZWFkZXIgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDsgfVxuICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05NHB4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJjMmYyZjsgfVxuICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpOyB9XG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5sb2dvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpIHNjYWxlKDAuNzUpOyB9XG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KSAhaW1wb3J0YW50OyB9XG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDE1MHB4OyB9XG4gIC5zdGlja3ktaGVhZGVyIGhlYWRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04MHB4KTsgfVxuICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KTsgfVxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbC1zdWIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkgIWltcG9ydGFudDsgfVxuICAjaG9tZSAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogMTgycHg7IH1cbiAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOTdweCk7IH1cbiAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAubG9nbyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNXB4KSBzY2FsZSgwLjU1KTsgfVxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsLXN1YiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjNweCkgIWltcG9ydGFudDsgfVxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gYTphZnRlcixcbiAgICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpICFpbXBvcnRhbnQ7IH0gfVxuXG4ucmVzaXplIGhlYWRlcixcbi5yZXNpemUgaGVhZGVyIC5jb250YWluZXIsXG4ucmVzaXplIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwtc3ViLFxuLnJlc2l6ZSAubG9nbyxcbi5yZXNpemUgI21haW4sXG4ucmVzaXplIC5uYXYtd3JhcHBlciB7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLmNvbnRlbnQtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50LW5hdiAubWJsLWJhY2sge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycztcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5jb250ZW50LW5hdiAubWJsLWJhY2s6aG92ZXIsIC5jb250ZW50LW5hdiAubWJsLWJhY2s6Zm9jdXMge1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgLm1ibC1iYWNrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWJhY2sge1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgLm1ibC1iYWNrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgLm1ibC1iYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgcGFkZGluZzogMCAzMHB4IDIwcHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29udGVudC1uYXYgLm1ibC1jb250ZW50LW5hdjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY29udGVudC1uYXYgLm1ibC1jb250ZW50LW5hdjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCEXCI7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7XG4gICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7XG4gICAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgLm1ibC1jb250ZW50LW5hdiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNvbnRlbnQtbmF2IC5tYmwtY29udGVudC1uYXYuaXMtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAuY29udGVudC1uYXYgLm1ibC1jb250ZW50LW5hdi5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2LmlzLWFjdGl2ZSArIHVsIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4OyB9XG4gICAgLmNvbnRlbnQtbmF2IC5tYmwtY29udGVudC1uYXYuaXMtYWN0aXZlICsgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjYWNiY2I7IH1cbiAgLmNvbnRlbnQtbmF2IHVsIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jb250ZW50LW5hdiB1bDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY29udGVudC1uYXYgdWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY29udGVudC1uYXYgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjkwNjI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xNzY0N2VtO1xuICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAgIC5jb250ZW50LW5hdiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTY4NzVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzMzM2VtOyB9IH1cbiAgICAgIC5jb250ZW50LW5hdiB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAgIC5jb250ZW50LW5hdiB1bCBsaSBhOmhvdmVyLCAuY29udGVudC1uYXYgdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cbiAgICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpIGEuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuY29udGVudC1uYXYgdWwgbGkudGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NhY2JjYjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICAuY29udGVudC1uYXYgdWwgbGkudGl0bGUgPiBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMzA3NjllbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAuY29udGVudC1uYXYgdWwgbGkudGl0bGUgPiBhOmhvdmVyLCAuY29udGVudC1uYXYgdWwgbGkudGl0bGUgPiBhOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICAuY29udGVudC1uYXYgdWwgbGkudGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICAgICAgICAgIC5jb250ZW50LW5hdiB1bCBsaS50aXRsZSA+IGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRlbnQtbmF2IHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNvbnRlbnQtbmF2IHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgdWwge1xuICAgICAgICBtYXgtd2lkdGg6IDI3NnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuXG4uY29udGVudC1uYXYubW9iaWxlLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29udGVudC1uYXYubW9iaWxlLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG4gICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDI2cHggMjZweCAyNnB4IDA7IH1cbiAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gLnRpdGxlIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiAudGl0bGU6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZTgwNCc7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93biA+IHVsIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpIGE6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwgPiBsaTphY3RpdmUgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpID4gdWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTY4NzVlbTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAgICAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyLCAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwgPiBsaSA+IHVsID4gbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93biA+IHVsID4gbGkgPiB1bCA+IGxpOmFjdGl2ZSBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93bi5pcy1hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSA+IC50aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSA+IC50aXRsZTphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93bi5pcy1hY3RpdmUgPiB1bCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4OyB9XG4gICAgICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93bi5pcy1hY3RpdmUgPiB1bCA+IGxpLmlzLWFjdGl2ZSA+IHVsIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDsgfVxuICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSA+IHVsIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaSB7XG4gICAgZm9udC1zaXplOiAxLjAzMTI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpIHtcbiAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9IH1cblxuLmhlcm8gLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmhlcm8gLmNvbnRhaW5lciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVybyAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSB7XG4gICAgYmFja2dyb3VuZDogIzJjMmYyZjtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweCAyMHB4OyB9XG4gICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCA0MHB4IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2LjMxMjVlbSkge1xuICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1heC13aWR0aDogMjkwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSA+ICoge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHtcbiAgICAgICAgbGVmdDogNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxlZnQ6IDgwcHg7IH0gfVxuICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBoMSB7XG4gICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBoMSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0OCU7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYuMzEyNWVtKSB7XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBwIHtcbiAgICAgIGNvbG9yOiAjZWFlYWVhO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQxMTc2ZW07IH1cbiAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBwIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBwIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0OCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYuMzEyNWVtKSB7XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDYyNWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQxMTc2ZW07XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuaGVybyAuY29udGFpbmVyIC5oZXJvLWNvcHkgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbmlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgaW5wdXRbdHlwZT0nZGF0ZSddLCBpbnB1dFt0eXBlPSdkYXRldGltZSddLCBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBpbnB1dFt0eXBlPSdtb250aCddLCBpbnB1dFt0eXBlPSd3ZWVrJ10sIGlucHV0W3R5cGU9J2VtYWlsJ10sIGlucHV0W3R5cGU9J251bWJlciddLCBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgaW5wdXRbdHlwZT0ndGVsJ10sIGlucHV0W3R5cGU9J3RpbWUnXSwgaW5wdXRbdHlwZT0ndXJsJ10sIGlucHV0W3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtOyB9XG5cbmZpZWxkc2V0IGxlZ2VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTllbTtcbiAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvbGQnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2MjVlbTsgfVxuXG5maWVsZHNldCAuZm9ybS1yb3cge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cbiAgZmllbGRzZXQgLmZvcm0tcm93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBmaWVsZHNldCAuZm9ybS1yb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuZmllbGRzZXQgbGFiZWwge1xuICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9sZCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1ZW07IH1cblxuZmllbGRzZXQgc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzk2OTc5NztcbiAgcGFkZGluZzogOHB4IDMwcHggMTBweCAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qUmVtb3ZlcyBkZWZhdWx0IGNocm9tZSBhbmQgc2FmYXJpIHN0eWxlKi9cbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBSZW1vdmVzIERlZmF1bHQgRmlyZWZveCBzdHlsZSovXG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9pY29ucy9pY29uLWRkLWFycm93LnBuZykgbm8tcmVwZWF0O1xuICAvKkFkZHMgYmFja2dyb3VuZC1pbWFnZSovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE3cHg7XG4gIC8qUG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UqL1xuICB0ZXh0LWluZGVudDogMC4wMXB4O1xuICAvKiBSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cbiAgdGV4dC1vdmVyZmxvdzogXCJcIjtcbiAgLypSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cbiAgaGVpZ2h0OiA0MHB4O1xuICBtaW4td2lkdGg6IDA7IH1cbiAgZmllbGRzZXQgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmOyB9XG5cbmZpZWxkc2V0IHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIC8qaWUxMSBnZXQgcmlkIG9mIGRlZmF1bHQgZGQgYXJyb3cqL1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmZpZWxkc2V0IGlucHV0W3R5cGU9J3RleHQnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0nZGF0ZSddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdkYXRldGltZSddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdtb250aCddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSd3ZWVrJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J2VtYWlsJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J251bWJlciddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0ndGVsJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J3RpbWUnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0ndXJsJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J2NvbG9yJ10sIGZpZWxkc2V0IHRleHRhcmVhIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzk2OTc5NztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1ZW07IH1cbiAgZmllbGRzZXQgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdkYXRlJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J21vbnRoJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J3dlZWsnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nZW1haWwnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J3NlYXJjaCddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSd0ZWwnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0ndGltZSddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSd1cmwnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nY29sb3InXTpmb2N1cywgZmllbGRzZXQgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5maWVsZHNldCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDsgfVxuXG5maWVsZHNldCAuc2VhcmNoLWlucHV0IGlucHV0W3R5cGU9J3RleHQnXSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMTVweCAwIDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2NnB4KTsgfVxuXG5maWVsZHNldCAuc2VhcmNoLWlucHV0IC5idG4ge1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZDogI2VjNjcxYyB1cmwoXCIuLi9pbWcvaWNvbnMvaWNvbi1zZWFyY2gucG5nXCIpIG5vLXJlcGVhdCAxNXB4IDlweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1MXB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHRleHQtaW5kZW50OiA5OTk5ZW07IH1cblxuZmllbGRzZXQgLnNlYXJjaC1maWx0ZXJzIGxlZ2VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogYXV0bztcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG5maWVsZHNldCAuc2VhcmNoLWZpbHRlcnMgc2VsZWN0IHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgZmllbGRzZXQgLnNlYXJjaC1maWx0ZXJzIHNlbGVjdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsgfSB9XG5cbmZpZWxkc2V0IC5zZWFyY2gtZmlsdGVycyAuYnRuIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmhvci1maWx0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5ob3ItZmlsdGVyIGxlZ2VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob3ItZmlsdGVyIGxlZ2VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmhvci1maWx0ZXIgLmZpZWxkcyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBDcmVhdGVzIGEgbmV3IGJsb2NrIGZvcm1hdCBjb250ZXh0LCB3aGljaCB3aWxsIG1ha2UgdGhpcyB0YWcgZmlsbCB0aGUgcmVtYWluaW5nIHdpZHRoICovIH1cbiAgICAuaG9yLWZpbHRlciAuZmllbGRzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5ob3ItZmlsdGVyIC5maWVsZHM6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLCAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAtd2lkZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLCAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAtd2lkZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgICAgIHdpZHRoOiAyODJweDsgfSB9XG4gICAgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwIHNlbGVjdCwgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLXdpZGUgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwIGxhYmVsLCAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAtd2lkZSBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5OWVtOyB9XG4gICAgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLXdpZGUsIC5ob3ItZmlsdGVyIC5maWVsZC1ncm91cC13aWRlLXdpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLXdpZGUsIC5ob3ItZmlsdGVyIC5maWVsZC1ncm91cC13aWRlLXdpZGUge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAwO1xuICAgICAgICAgIHdpZHRoOiA4NDZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaG9yLWZpbHRlciBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuaG9yLWZpbHRlci5oaWRlLWxlZ2VuZCBsZWdlbmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OWVtOyB9XG5cbi5zaW1wbGUtc2VsZWN0IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zaW1wbGUtc2VsZWN0IGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1ZW07IH0gfVxuXG4uc2ltcGxlLXNlbGVjdCBzZWxlY3Qge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2ltcGxlLXNlbGVjdCBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfSB9XG5cbi5uby1jc3Njb2x1bW5zIHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cblxuLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBkaXYud3lzaXd5Zy1pbm5lciA+ICo6Zmlyc3QtY2hpbGQsXG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGRpdi53eXNpd3lnLWlubmVyID4gKjpmaXJzdC1jaGlsZCxcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGRpdi53eXNpd3lnLWlubmVyID4gaDI6Zmlyc3QtY2hpbGQsXG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnID4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIHN0cm9uZywgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBiIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaHIge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIGg0LFxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoNCxcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGg0LFxuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgc3VwLFxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIHN1YiB7XG4gICAgZm9udC1zaXplOiAwLjc4OTQ3ZW07XG4gICAgcGFkZGluZzogMCAzcHg7IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB1bCBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweCAyNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAoiBcIjtcbiAgICAgICAgY29sb3I6ICMwMGU4NjI7IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBvbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDIwcHggMCAyMHB4IDIwcHg7IH1cbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIG9sIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDVweDsgfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAxNXB4IDA7IH0gfVxuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgZmlndXJlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnLmxpc3Qtc3RhY2tlZCB1bCB7XG4gICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgIC1tb3otY29sdW1uLWdhcDogNDBweDtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0MHB4O1xuICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgY29sdW1uLWdhcDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnLmxpc3Qtc3RhY2tlZCB1bCBsaSB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnLmxpc3Qtc3RhY2tlZCBvbCB7XG4gICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgIC1tb3otY29sdW1uLWdhcDogNTBweDtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA1MHB4O1xuICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgY29sdW1uLWdhcDogNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnLmxpc3Qtc3RhY2tlZCBvbCBsaSB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnLmxpc3Qtc3RhY2tlZCB1bCwgLmNvbnRlbnQtcGFnZSAud3lzaXd5Zy5saXN0LXN0YWNrZWQgb2wge1xuICAgICAgLW1vei1jb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgY29sdW1uLWdhcDogNjBweDsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIC5sZWFkIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoMjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4OyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB1bCwgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBvbCB7XG4gICAgICAgIC1tb3otY29sdW1uLWdhcDogNjBweDtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgICBjb2x1bW4tZ2FwOiA2MHB4OyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG5cbi8qIFBsdWdpbiBzdHlsZXMgKi9cbi5zb2NpYWwtZmVlZC1lbGVtZW50LmhpZGRlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZCAhaW1wb3J0YW50OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5wdWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvXFw5O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAuYXR0YWNobWVudCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuLyogTGluayBzdHlsZXMgKi9cbi5zb2NpYWwtZmVlZC1lbGVtZW50IGEge1xuICBjb2xvcjogIzAwODhjYztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IGE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IGE6aG92ZXIsXG4uc29jaWFsLWZlZWQtZWxlbWVudCBhOmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7XG4gIGNvbG9yOiAjMDA1NTgwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBUZXh0IHN0eWxlcyAqL1xuLnNvY2lhbC1mZWVkLWVsZW1lbnQgc21hbGwge1xuICBmb250LXNpemU6IDg1JTsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCBwIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAubWVkaWEtYm9keSA+IHAge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgcC5zb2NpYWwtZmVlZC10ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyB9XG5cbi8qIE1lc3NhZ2Ugc3R5bGVzICovXG4uc29jaWFsLWZlZWQtZWxlbWVudCxcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgem9vbTogMTtcbiAgKm92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5IC5zb2NpYWwtbmV0d29yay1pY29uIHtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAxNnB4OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5IGRpdiB7XG4gIGNvbG9yOiAjNjY2O1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm11dGVkIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYS5tdXRlZDpob3Zlcixcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGEubXV0ZWQ6Zm9jdXMge1xuICBjb2xvcjogIzgwODA4MDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbjogLTFweDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTAsIDEwLCAxMCwgMC40KTsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAuY29udGVudCB7XG4gIHBhZGRpbmc6IDE1cHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLnNvY2lhbC1uZXR3b3JrLWljb24ge1xuICBvcGFjaXR5OiAwLjc7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLmF1dGhvci10aXRsZSB7XG4gIGNvbG9yOiAjNDQ0O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnR3aXR0ZXItZmVlZCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50d2l0dGVyLWZlZWQge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgLnR3aXR0ZXItZmVlZCBoMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIC50d2l0dGVyLWZlZWQgaDI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdAJztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiOyB9XG4gICAgLnR3aXR0ZXItZmVlZCBoMjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gjlwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnR3aXR0ZXItZmVlZC1lbGVtZW50IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggIzAwZTg2MjsgfVxuICAudHdpdHRlci1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC50d2l0dGVyLWZlZWQtZWxlbWVudCAuZGF0ZS10aW1lIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cbiAgLnR3aXR0ZXItZmVlZC1lbGVtZW50IGEge1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC50d2l0dGVyLWZlZWQtZWxlbWVudCBhOmhvdmVyLCAudHdpdHRlci1mZWVkLWVsZW1lbnQgYTpmb2N1cywgLnR3aXR0ZXItZmVlZC1lbGVtZW50IGE6YWN0aXZlLCAudHdpdHRlci1mZWVkLWVsZW1lbnQgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC50d2l0dGVyLWZlZWQtZWxlbWVudDpob3ZlciwgLnR3aXR0ZXItZmVlZC1lbGVtZW50OmZvY3VzLCAudHdpdHRlci1mZWVkLWVsZW1lbnQ6YWN0aXZlLCAudHdpdHRlci1mZWVkLWVsZW1lbnQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi53eXNpd3lnIC50d2l0dGVyLWZlZWQgPiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC53eXNpd3lnIC50d2l0dGVyLWZlZWQgPiBhOmhvdmVyLCAud3lzaXd5ZyAudHdpdHRlci1mZWVkID4gYTpmb2N1cywgLnd5c2l3eWcgLnR3aXR0ZXItZmVlZCA+IGE6YWN0aXZlLCAud3lzaXd5ZyAudHdpdHRlci1mZWVkID4gYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAudHdpdHRlci1mZWVkcyAud3lzaXd5ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLnJlbGF0ZWQtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAgIC5yZWxhdGVkLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlbGF0ZWQtY29udGVudCB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMTAwcHggNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAucmVsYXRlZC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxNWVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAyNDBweCAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIC5yZWxhdGVkLWNvbnRlbnQgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NhY2JjYjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAucmVsYXRlZC1jb250ZW50IGgyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweCAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cbiAgLnJlbGF0ZWQtY29udGVudCB1bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnJlbGF0ZWQtY29udGVudCB1bDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucmVsYXRlZC1jb250ZW50IHVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnJlbGF0ZWQtY29udGVudCB1bDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQmtDQVlBQUFCdzRwVlVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1EWTNJRGM1TGpFMU56YzBOeXdnTWpBeE5TOHdNeTh6TUMweU16bzBNRG8wTWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pSQk5qZzNNREE0TURKQ1JqRXhSVFpDTmpJM1FVTkRPRVZCTlRKQk0wVTNJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalJCTmpnM01EQTVNREpDUmpFeFJUWkNOakkzUVVORE9FVkJOVEpCTTBVM0lqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZORUUyT0Rjd01EWXdNa0pHTVRGRk5rSTJNamRCUTBNNFJVRTFNa0V6UlRjaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5FRTJPRGN3TURjd01rSkdNVEZGTmtJMk1qZEJRME00UlVFMU1rRXpSVGNpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo2VHorN0JBQUFCODBsRVFWUjQydXpieTAwRFFSQkZVVk1KRUkvSkFNSWdTSndCc2JDRkNPaFpzRUV5SGcvenVWVjFXNnJGN0ZvNjZzVjB2L2R3K25nOU5WN25NWmN4ajRDOWZJMTVEakU0R0dQZVF3d094dlFSWW5Bd09vS2dNYnFCNERFNmdhVEE2QUtTQnFNRFNDcU02aURwTUNxRGtEQSs1MkpVQmFGaHZNekZxQWlTR3FNYVNIcU1TaUFsTUtxQWxNR29BRklLSXp0SU9Zek1JQ1V4c29LVXhjZ0lVaG9qRzBoNWpFd2dMVEN5Z0xUQnlBRFNDb01PMGc2REROSVNnd3JTRm9NSTBocURCdEllZ3dRaUJnaEVEQkNJR0NBUU1VQWdZb0JBeEFDQmlBRUNFUU1FSWdZSVJBd1FpQmdnRURGQUlHS0FRTVFBZ1lnQkFoRURCUElrQmdka3duZ1Rnd0VpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUFnWWdCQWhFREJpSUdaNTFEREE3R21FdUl3Y0dZRGtlSXdjSDQ2MDlkakFNd2pnUVI0MHFPTGNUZ1lCd0JJc2FOaEdlSXdjSFlFMFNNbWRubkVJT0RzUWVJR0hlMkFrSU1Ec2FXSUdJc3JHaUVHSnRoTExwRkR6RTRHR3VEaUxIQ1kxK0l3Y0ZZQzBTTUZaL0JRd3dPeG45QnhOZ2dJQkppY0RDV2dvaXhZWFFxeE9CZzNBc2l4ZzZod2hDRGd6RVhSSXdkNDdZaEJnZmpGb2dZQndUUlF3d094alVRTVE2c2FJUVlISXpmSUdJQXlrc2hCZ2ZqQjBRTVVLMHZ4R0IxTEw4RkdBQUVkeTFiKyt1WnBRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTEwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgdHJhbnNmb3JtOiBza2V3WCgxNWRlZyk7IH1cbiAgICAucmVsYXRlZC1jb250ZW50IHVsIGxpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICBmb250LXNpemU6IDAuOTA2MjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTg3NWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2FjYmNiO1xuICAgICAgcGFkZGluZzogNXB4IDAgMTVweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5yZWxhdGVkLWNvbnRlbnQgdWwgbGkge1xuICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLnJlbGF0ZWQtY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAucmVsYXRlZC1jb250ZW50IHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDsgfVxuICAgICAgICAucmVsYXRlZC1jb250ZW50IHVsIGxpIGEgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzMzM2VtOyB9XG4gICAgICAgIC5yZWxhdGVkLWNvbnRlbnQgdWwgbGkgYTpob3ZlciwgLnJlbGF0ZWQtY29udGVudCB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlbGF0ZWQtY29udGVudCB1bCBsaTpudGgtY2hpbGQoM24rNCkge1xuICAgICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLnJlbGF0ZWQtY29udGVudCB1bCBsaSBhIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzJjMmYyZjtcbiAgcGFkZGluZzogNDBweCAwOyB9XG4gIGZvb3RlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgZm9vdGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBmb290ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgIGZvb3RlciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMjU2MHB4OyB9IH1cbiAgZm9vdGVyIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBmb290ZXIgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzRweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgZm9vdGVyIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE3MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBmb290ZXIgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgZm9vdGVyIC5jb250YWluZXIgLnd5c2l3eWcgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBmb290ZXIgbmF2IHVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBmb290ZXIgbmF2IHVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGZvb3RlciBuYXYgdWwgbGkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIG5hdiB1bCBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIGZvb3RlciBuYXYgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIGZvb3RlciBuYXYgdWwgbGk6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDMwcHggMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHtcbiAgICAgICAgcGFkZGluZzogODBweCAwIDUwcHggMDsgfSB9XG4gICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIGxpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjI1ZW07XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGNvbG9yOiAjZWFlYWVhO1xuICAgICAgcGFkZGluZzogMCAwIDIwcHggMDsgfVxuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIGxpOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC00MnB4OyB9XG4gICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCBsaSBhOmhvdmVyLCBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMxNGRjNjY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCB1bCB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC4xcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45MDYyNWVtOyB9XG4gICAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGkgKyBsaSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM1ZjYxNjE7IH1cbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGk6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICByaWdodDogLTQwcHg7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY2MTYxOyB9XG4gICAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCB1bCA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCB1bCA+IGxpOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC01MnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGZvb3RlciBuYXYuZnRyLXV0aWwge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgZm9vdGVyIG5hdi5mdHItdXRpbCB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgZm9vdGVyIG5hdi5mdHItdXRpbCB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuICBmb290ZXIgbmF2LmZ0ci11dGlsIGxpIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICBmb250LXNpemU6IDAuNzgxMjVlbTtcbiAgICBjb2xvcjogIzk2OTc5NztcbiAgICBwYWRkaW5nOiAwIDAgMC42MjVlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVlbSAwIDA7IH0gfVxuICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGkgYSB7XG4gICAgICBjb2xvcjogIzk2OTc5NzsgfVxuICAgICAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaSBhOmhvdmVyLCBmb290ZXIgbmF2LmZ0ci11dGlsIGxpIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG4gIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdHd0ciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXZpbSwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLWxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci10d3RyOmFmdGVyLCBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdmltOmFmdGVyLCBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItbGk6YWZ0ZXIge1xuICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzOyB9XG4gICAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci10d3RyOmhvdmVyOmFmdGVyLCBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdHd0cjpmb2N1czphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXZpbTpob3ZlcjphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXZpbTpmb2N1czphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLWxpOmhvdmVyOmFmdGVyLCBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItbGk6Zm9jdXM6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjY2FjYmNiOyB9XG4gICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdHd0cjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCOXCI7IH1cbiAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci12aW06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gk1wiOyB9XG4gICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItbGk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gjVwiO1xuICAgICAgICB0b3A6IC0ycHg7IH1cbiAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBmb290ZXIgLmZ0ci1uYXYtd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IDk0NXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBmb290ZXIgLmZ0ci1zdG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICMzYzNlM2U7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgLW8tYm9yZGVyLXJhZGl1czogODAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICB3aWR0aDogMTQ1cHg7XG4gICAgaGVpZ2h0OiAxNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBmb290ZXIgLmZ0ci1zdG9jayA+ICoge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIC5mdHItc3RvY2sge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgLW8tYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBmb290ZXIgLmZ0ci1zdG9jazpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgZm9vdGVyIC5mdHItc3RvY2s6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAgIGZvb3RlciAuZnRyLXN0b2NrIC5mdHItc3RvY2stcHJpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxLjg3NWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgZm9vdGVyIC5mdHItc3RvY2sgLmZ0ci1zdG9jay1pbmRleCB7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNjYWNiY2I7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGZvb3RlciAuZnRyLXN0b2NrIC5mdHItc3RvY2staW5kZXggc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBmb290ZXIgLmZ0ci1zdG9jayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbGVmdDogNjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjM2MzZTNlO1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgICAgIC1vLWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogODAlO1xuICAgICAgICB3aWR0aDogMTQ1cHg7XG4gICAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgZm9vdGVyIC5mdHItc3RvY2sgPiAqIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4vKlxyXG4ucHVzaCB7XHJcbiAgICBkaXNwbGF5OiBub25lOyAgICBcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIGh0bWwsIGJvZHkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgICN3cmFwcGVyIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0yMTVweDtcclxuICAgIH1cclxuICAgIC5wdXNoIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDIxNXB4O1xyXG4gICAgfVxyXG59XHJcbiovXG4jaG9tZSAjbWFpbiBzZWN0aW9uLnNwYWNlZCB7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAuNHMgZWFzZS1pbi1vdXQ7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4jaG9tZSAjbWFpbiBzZWN0aW9uLmdyZXkucGFuZWxzIHtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAuNHMgZWFzZS1pbi1vdXQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjaG9tZSAjbWFpbiBzZWN0aW9uLnNwYWNlZCB7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICNob21lICNtYWluIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgI2hvbWUgI21haW4ge1xuICAgIG1heC13aWR0aDogMjU2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2hvbWUgLnR3aXR0ZXItZmVlZHMge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgICAjaG9tZSAudHdpdHRlci1mZWVkcyA+IC5yb3cge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICNob21lIC50d2l0dGVyLWZlZWRzIHtcbiAgICB3aWR0aDogODAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAjaG9tZSAudHdpdHRlci1mZWVkcyB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgICNob21lIC50d2l0dGVyLWZlZWRzID4gLnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICNob21lIC50d2l0dGVyLWZlZWRzIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgI2hvbWUgLnR3aXR0ZXItZmVlZHMgPiAucm93IHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtYXgtaGVpZ2h0OiA2NGVtKSB7XG4gICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lID4gLmNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7IH1cbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgPiAuY29udGFpbmVyIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSAhaW1wb3J0YW50OyB9XG4gICAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lID4gLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSA+IC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gc3BhbjphZnRlcixcbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgPiAuY29udGFpbmVyIC51dGlsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSA+IC5jb250YWluZXIgLnV0aWwgPiBsaSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogMTAxcHggIWltcG9ydGFudDsgfVxuICAjaG9tZSAjbWFpbiBzZWN0aW9uLnNwYWNlZCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICNob21lICNtYWluIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtYXgtaGVpZ2h0OiA2NGVtKSB7XG4gICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLmdsb2JhbC1zdWIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpICFpbXBvcnRhbnQ7IH1cbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gYTphZnRlcixcbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gc3BhbjphZnRlcixcbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC51dGlsID4gbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogMTMzcHggIWltcG9ydGFudDsgfVxuICAjaG9tZSAjbWFpbiBzZWN0aW9uLnNwYWNlZCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICNob21lICNtYWluIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIGFuZCAobWF4LWhlaWdodDogNzVlbSkge1xuICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTsgfVxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpICFpbXBvcnRhbnQ7IH1cbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSAhaW1wb3J0YW50OyB9XG4gICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDEzM3B4ICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWUgI21haW4gc2VjdGlvbi5zcGFjZWQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAjaG9tZSAjbWFpbiBzZWN0aW9uLmdyZXkucGFuZWxzIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG5cbi50YWJsZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgbWluLWhlaWdodDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlIHtcbiAgICAgIG92ZXJmbG93LXg6IGluaGVyaXQ7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cblxudGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHRhYmxlIHtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH0gfVxuICB0YWJsZSB0Ym9keSwgdGFibGUgdGhlYWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgdGFibGUgdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKTpob3ZlciwgdGFibGUgdGhlYWQgPiB0cjpudGgtY2hpbGQob2RkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzJjMmYyZjtcbiAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICNlYWVhZWE7IH1cbiAgICB0YWJsZSB0aGVhZCB0aCB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDEwcHggMTBweCAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMTdweCAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgdGFibGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ob21lLW5ld3MtbGlzdCB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuaG9tZS1uZXdzLWxpc3QgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaG9tZS1uZXdzLWxpc3Qge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgLmhvbWUtbmV3cy1saXN0IHVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuaG9tZS1uZXdzLWxpc3QgdWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmhvbWUtbmV3cy1saXN0IHVsIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMDBlODYyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuaG9tZS1uZXdzLWxpc3QgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggIzAwZTg2MjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggIzAwZTg2MjtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpIGEge1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaG9tZS1uZXdzLWxpc3QgdWwgbGkgYTpob3ZlciwgLmhvbWUtbmV3cy1saXN0IHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgIC5ob21lLW5ld3MtbGlzdCB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5ob21lLW5ld3MtbGlzdCB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmbGV4OiAzOCU7XG4gICAgICBtYXgtd2lkdGg6IDM4JTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDsgfVxuICAgICAgLmhvbWUtbmV3cy1saXN0IGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tZS1uZXdzLWxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogNTguMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5ob21lLW5ld3MtbGlzdCB1bCA+IGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDYyNWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzY0ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIGZsZXg6IDYwJTtcbiAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgICAuaG9tZS1uZXdzLWxpc3QgdWwgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ob21lLW5ld3MtbGlzdCBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmhvbWUtbmV3cy1saXN0IHVsID4gbGkge1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIGZsZXg6IDY1JTtcbiAgICAgIG1heC13aWR0aDogNjAlOyB9XG4gICAgICAuaG9tZS1uZXdzLWxpc3QgdWwgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfSB9XG5cbi5uZXdzLWxpc3QtcGFnZSBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm5ld3MtbGlzdC1wYWdlIHVsIHtcbiAgcGFkZGluZy10b3A6IDEuODc1ZW07IH1cblxuLm5ld3MtbGlzdC1wYWdlIGxpIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjU2MjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7IH1cblxuLnNoYXJlLXByb21vIHtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8qXHJcblx0LmxhdGVzdC1uZXdzIHtcclxuXHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR9XHJcblx0XHRoMiB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTMpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogLjk7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiBlbSgyKTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5MztcclxuXHRcdH1cclxuXHR9XHJcblx0Ki8gfVxuICAuc2hhcmUtcHJvbW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zaGFyZS1wcm9tbzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNoYXJlLXByb21vIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgZmxleDogNDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuc2hhcmUtcHJvbW8ge1xuICAgICAgbWF4LXdpZHRoOiAzNSU7XG4gICAgICBmbGV4OiAzNSU7IH0gfVxuICAuc2hhcmUtcHJvbW8gLnd5c2l3eWcgLmludmVzdG9yLWJ0bixcbiAgLnNoYXJlLXByb21vIC53eXNpd3lnIC5zaGFyZS1wcmljZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnNoYXJlLXByb21vIC53eXNpd3lnIC5pbnZlc3Rvci1idG46aG92ZXIsIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuaW52ZXN0b3ItYnRuOmZvY3VzLCAuc2hhcmUtcHJvbW8gLnd5c2l3eWcgLmludmVzdG9yLWJ0bjphY3RpdmUsIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuaW52ZXN0b3ItYnRuOnZpc2l0ZWQsXG4gICAgLnNoYXJlLXByb21vIC53eXNpd3lnIC5zaGFyZS1wcmljZTpob3ZlcixcbiAgICAuc2hhcmUtcHJvbW8gLnd5c2l3eWcgLnNoYXJlLXByaWNlOmZvY3VzLFxuICAgIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuc2hhcmUtcHJpY2U6YWN0aXZlLFxuICAgIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuc2hhcmUtcHJpY2U6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogODAlO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODAlO1xuICAgIC1vLWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICBib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgYmFja2dyb3VuZDogIzAwZTg2MjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiwgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4gZGl2IHNwYW4ge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gICAgICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuOmhvdmVyLCAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0bjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0bjpob3ZlciBkaXYsIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuOmZvY3VzIGRpdiB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuOmhvdmVyIGRpdiBzcGFuLCAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0bjpmb2N1cyBkaXYgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICMwMGU4NjI7IH1cbiAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biBkaXYge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEl0YWxpY1wiO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAycHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biBkaXYge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdjpob3ZlciwgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4gZGl2OmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiB7XG4gICAgICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICAgICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biBkaXYgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIHdpZHRoOiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIHdpZHRoOiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4ge1xuICAgICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgICB3aWR0aDogMTU1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biB7XG4gICAgICAgIGhlaWdodDogMTk1cHg7XG4gICAgICAgIHdpZHRoOiAxOTVweDsgfSB9XG4gIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IC45O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNi4yNSU7IH1cbiAgICAgICAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSBoMiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjMzMzMlOyB9IH1cbiAgLnNoYXJlLXByb21vIGEuc2hhcmUtcHJpY2U6aG92ZXIgLnN0b2NrLXByaWNlLCAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyAuc3RvY2stcHJpY2Uge1xuICAgIGNvbG9yOiAjMDBlODYyOyB9XG4gIC5zaGFyZS1wcm9tbyBhLnNoYXJlLXByaWNlOmhvdmVyIC5zdG9jay1pbmRleCAqLCAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyAuc3RvY2staW5kZXggKiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzJjMmYyZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNoYXJlLXByb21vIGEuc2hhcmUtcHJpY2U6aG92ZXIgaDIsXG4gICAgLnNoYXJlLXByb21vIGEuc2hhcmUtcHJpY2U6aG92ZXIgc3BhbixcbiAgICAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpob3ZlciBwLCAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyBoMixcbiAgICAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyBzcGFuLFxuICAgIC5zaGFyZS1wcm9tbyBhLnNoYXJlLXByaWNlOmZvY3VzIHAge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLnNoYXJlLXByb21vIGFydGljbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uc3RvY2stcHJpY2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICBwYWRkaW5nOiAwIDEwcHggNXB4IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDdweCAjMDBlODYyO1xuICBtYXJnaW4tYm90dG9tOiAtN3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9jay1wcmljZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44MTI1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdG9jay1wcmljZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4zNzVlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnN0b2NrLXByaWNlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAyLjYyNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuc3RvY2stcHJpY2Ugc3BhbiB7XG4gICAgICBmb250LXNpemU6IDMuMzc1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uc3RvY2std3JhcHBlciB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDdweCAjMDBlODYyO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3RvY2staW5kZXgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCAwIDEwcHggMDtcbiAgLypcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSB3Zi1pY29uKCRpY29uLWFycm93LXVwLCAxM3B4LCAkY29sb3ItZ3JleS1ib2R5KTsgLy8kaWNvbi1hcnJvdy1kb3duXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6MDtcclxuXHRcdHRvcDo1MCU7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0gKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG5cdFx0d2lkdGg6MjBweDtcclxuXHRcdGhlaWdodDoxMnB4O1x0XHRcclxuXHR9XHJcblx0Ki8gfVxuICAuc3RvY2staW5kZXggPiBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAuc3RvY2staW5kZXggPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5zdG9jay1pbmRleCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzAwZTg2MjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9jay1pbmRleCA+IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnN0b2NrLWluZGV4ID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1ZW07IH0gfVxuXG4uc3RvY2stdXBkYXRlZCB7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gIGNvbG9yOiAjNjE2MzYzOyB9XG4gIC5zdG9jay11cGRhdGVkIHN0cm9uZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RvY2stdXBkYXRlZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnN0b2NrLXVwZGF0ZWQge1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTsgfVxuICAgICAgLnN0b2NrLXVwZGF0ZWQgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuc3RvY2stdXBkYXRlZCB7XG4gICAgICBmb250LXNpemU6IDAuNzVlbTsgfSB9XG5cbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICMwMGU4NjI7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxOC43NWVtOyB9IH1cbiAgLnBhbmVsIGEge1xuICAgIG1hcmdpbjogMCAtMjBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5wYW5lbCBhIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFuZWwgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH1cbiAgICAucGFuZWwgYSAuaW1hZ2UsXG4gICAgLnBhbmVsIGEgLmltYWdlOmJlZm9yZSxcbiAgICAucGFuZWwgYSAuaW1hZ2U6YWZ0ZXIsXG4gICAgLnBhbmVsIGEgLmltYWdlID4gaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7IH1cbiAgICAucGFuZWwgYSAuaW1hZ2UsIC5wYW5lbCBhIC52aWRlby1wbGF5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmb250LXNpemU6IDA7IH1cbiAgICAgIC5wYW5lbCBhIC5pbWFnZTpiZWZvcmUsIC5wYW5lbCBhIC52aWRlby1wbGF5OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBhbmVsIGEgLmltYWdlLCAucGFuZWwgYSAudmlkZW8tcGxheSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG4gICAgICAgICAgLnBhbmVsIGEgLmltYWdlID4gaW1nLCAucGFuZWwgYSAudmlkZW8tcGxheSA+IGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDAyKTsgfSB9XG4gICAgLnBhbmVsIGEgaW1nIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnBhbmVsIGEgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5wYW5lbCBhIHAge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5wYW5lbCBhOmhvdmVyLCAucGFuZWwgYTpmb2N1cyB7XG4gICAgICAvKlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoMixcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAqLyB9XG4gICAgICAucGFuZWwgYTpob3ZlciBoMiwgLnBhbmVsIGE6aG92ZXIgcCwgLnBhbmVsIGE6Zm9jdXMgaDIsIC5wYW5lbCBhOmZvY3VzIHAge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnBhbmVsIGE6aG92ZXIgLmltYWdlOmJlZm9yZSwgLnBhbmVsIGE6aG92ZXIgLnZpZGVvLXBsYXk6YmVmb3JlLCAucGFuZWwgYTpmb2N1cyAuaW1hZ2U6YmVmb3JlLCAucGFuZWwgYTpmb2N1cyAudmlkZW8tcGxheTpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuMzM7IH1cbiAgICAgIC5wYW5lbCBhOmhvdmVyIC5pbWFnZSA+IGltZywgLnBhbmVsIGE6aG92ZXIgLnZpZGVvLXBsYXkgPiBpbWcsIC5wYW5lbCBhOmZvY3VzIC5pbWFnZSA+IGltZywgLnBhbmVsIGE6Zm9jdXMgLnZpZGVvLXBsYXkgPiBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMzKTsgfVxuICAgIC5wYW5lbCBhLnZpZGVvLXBsYXkgLnZpZGVvLWljb24ge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjMyLCA5OCwgMC44NSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7IH1cbiAgICAgIC5wYW5lbCBhLnZpZGVvLXBsYXkgLnZpZGVvLWljb246YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gl1wiO1xuICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTMlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzOyB9XG4gICAgLnBhbmVsIGEudmlkZW8tcGxheTpob3ZlciAudmlkZW8taWNvbiB7XG4gICAgICB6LWluZGV4OiA5OTk5OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAucGFuZWwgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhbmVsID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnBhbmVsIC5jb3B5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAucGFuZWwgLmNvcHkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFuZWwgLmNvcHkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweCAwOyB9IH1cbiAgICAucGFuZWwgLmNvcHkgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFuZWwgYSwgLnBhbmVsIGEgcCwgLnBhbmVsIGE6aG92ZXIgcCwgLnBhbmVsIGE6Zm9jdXMgcCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ubGVhZGVyc2hpcC1wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLmxlYWRlcnNoaXAtcGFuZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sZWFkZXJzaGlwLXBhbmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sZWFkZXJzaGlwLXBhbmVsIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmxlYWRlcnNoaXAtcGFuZWwgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxlYWRlcnNoaXAtcGFuZWwgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAubGVhZGVyc2hpcC1wYW5lbCAuY29weSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYmNiO1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmxlYWRlcnNoaXAtcGFuZWwgLmNvcHkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnNwbGl0LWNvcHktcGFuZWxzIC5wYW5lbCAuY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNwbGl0LWNvcHktcGFuZWxzIC5wYW5lbCAuY29weTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uc3BsaXQtY29weS1wYW5lbHMgLnBhbmVsIC5jb3B5IGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYSBCb2xkXCI7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnNwbGl0LWNvcHktcGFuZWxzIC5wYW5lbCAuY29weSBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zcGxpdC1jb3B5LXBhbmVscyAucGFuZWwgLmNvcHkgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnNwbGl0LWNvcHktcGFuZWxzIC5wYW5lbCAuY29weSBoMiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1heC13aWR0aDogNDklO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuXG4uc3BsaXQtY29weS1wYW5lbHMgLnBhbmVsIC5jb3B5IHAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgZm9udC1zaXplOiAxZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zcGxpdC1jb3B5LXBhbmVscyAucGFuZWwgLmNvcHkgcCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXgtd2lkdGg6IDQ4LjUlO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDc0cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfSB9XG5cbi5yZWxhdGVkLXBhbmVscyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZWxhdGVkLXBhbmVscyB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgICAgIC5yZWxhdGVkLXBhbmVscyAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVsYXRlZC1wYW5lbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnJlbGF0ZWQtcGFuZWxzIHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAucmVsYXRlZC1wYW5lbHMgLnJlbGF0ZWQtcGFuZWwge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDdweCAjMDBlODYyO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgLnJlbGF0ZWQtcGFuZWxzIC5yZWxhdGVkLXBhbmVsIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfVxuICAgIC5yZWxhdGVkLXBhbmVscyAucmVsYXRlZC1wYW5lbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH1cbiAgICAucmVsYXRlZC1wYW5lbHMgLnJlbGF0ZWQtcGFuZWwgYSB7XG4gICAgICBmb250LXNpemU6IDAuODIzNTNlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgSXRhbGljXCI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmVhdHVyZWQgPiAucm93IHtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTsgfVxuICAgIC5mZWF0dXJlZCA+IC5yb3cgLmNvbHVtbiwgLmZlYXR1cmVkID4gLnJvdyAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyB9IH1cblxuLmdyZXkgLnBhbmVsIGEgLmltYWdlOmJlZm9yZSxcbi5ncmV5IC5wYW5lbCBhIC52aWRlby1wbGF5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH1cblxuLnBhbmVsLmV4Yy1ncmV5IGEgLmltYWdlOmJlZm9yZSxcbi5wYW5lbC5leGMtZ3JleSBhIC52aWRlby1wbGF5OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGgyLCAuaW52ZXN0b3ItY2VudHJlIC5kZWJ0LWludmVzdG9ycyBoMiwgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3MgaDIge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgcGFkZGluZzogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1tb3otZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtby1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnNoYXJlLXByb21vLFxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAuZGVidC1pbnZlc3RvcnMsXG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5uZXdzLWxpc3Qge1xuICAgICAgLXdlYmtpdC1mbGV4OiAxIDEwMCU7XG4gICAgICAtbW96LWZsZXg6IDEgMTAwJTtcbiAgICAgIC1tcy1mbGV4OiAxIDEwMCU7XG4gICAgICAtby1mbGV4OiAxIDEwMCU7XG4gICAgICBmbGV4OiAxIDEwMCU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnRpbGUtbGlua3Mge1xuICAgICAgLXdlYmtpdC1mbGV4OiAxIDUwJTtcbiAgICAgIC1tb3otZmxleDogMSA1MCU7XG4gICAgICAtbXMtZmxleDogMSA1MCU7XG4gICAgICAtby1mbGV4OiAxIDUwJTtcbiAgICAgIGZsZXg6IDEgNTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7XG4gICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgLW8tZmxleC1mbG93OiByb3c7XG4gICAgZmxleC1mbG93OiByb3c7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnNoYXJlLXByb21vIHtcbiAgICAgIC13ZWJraXQtZmxleDogMSAyMCU7XG4gICAgICAtbW96LWZsZXg6IDEgMjAlO1xuICAgICAgLW1zLWZsZXg6IDEgMjAlO1xuICAgICAgLW8tZmxleDogMSAyMCU7XG4gICAgICBmbGV4OiAxIDIwJTtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC50aWxlLWxpbmtzIHtcbiAgICAgIC13ZWJraXQtZmxleDogMCAzOCU7XG4gICAgICAtbW96LWZsZXg6IDAgMzglO1xuICAgICAgLW1zLWZsZXg6IDAgMzglO1xuICAgICAgLW8tZmxleDogMCAzOCU7XG4gICAgICBmbGV4OiAwIDM4JTtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5kZWJ0LWludmVzdG9ycyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1NXB4O1xuICAgICAgd2lkdGg6IDE4JTtcbiAgICAgIG1heC13aWR0aDogMjQ2cHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLm5ld3MtbGlzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDI4NnB4O1xuICAgICAgbGVmdDogNTVweDtcbiAgICAgIHdpZHRoOiAxOCU7XG4gICAgICBtYXgtd2lkdGg6IDI0NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1NXB4IDU1cHggMCA1NXB4OyB9IH1cblxuI2ludmVzdG9yLWNlbnRyZSAjbWFpbiAuaW52ZXN0b3ItY2VudHJlIC5yb3csXG4jaW52ZXN0b3ItY2VudHJlICNtYWluIC5pbnZlc3RvcnMgLnJvdyB7XG4gIG1heC13aWR0aDogMTAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAjaW52ZXN0b3ItY2VudHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjaW52ZXN0b3ItY2VudHJlICNtYWluIC5pbnZlc3RvcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgI2ludmVzdG9yLWNlbnRyZSAjbWFpbiAuaW52ZXN0b3JzIC5wYWdlLWludHJvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgIzAwZTg2MjsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNDIwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gPiBhOmhvdmVyLCAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyA+IGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vID4gYTpob3ZlciAuc3RvY2stcHJpY2UgPiBzcGFuLCAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyA+IGE6Zm9jdXMgLnN0b2NrLXByaWNlID4gc3BhbiB7XG4gICAgICBjb2xvcjogIzAwZTg2MjsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1wcmljZSA+IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXggPiBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogIzJjMmYyZiAhaW1wb3J0YW50OyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4ID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCA+IGkge1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgICAgY29sb3I6ICMyYzJmMmYgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3Qge1xuICAgICAgcGFkZGluZzogMTBweCAwIDVweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDBlODYyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMGU4NjI7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzY0NjQ2NDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1pbi13aWR0aDogODVweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xuICAgICAgICBmb250LXNpemU6IDAuNzgxMjVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW86YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIGgyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAxMDAlO1xuICAgICAgICAtbW96LWZsZXg6IDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMTAwJTtcbiAgICAgICAgLW8tZmxleDogMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogLXdlYmtpdC10cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7XG4gICAgICAgIC1tb3otZmxleC1mbG93OiByb3c7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgLW8tZmxleC1mbG93OiByb3c7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzAwZTg2MjtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stcHJpY2Uge1xuICAgICAgICAgIC13ZWJraXQtZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgLW1vei1mbGV4OiAxIDMzLjMzMzMzJTtcbiAgICAgICAgICAtbXMtZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgLW8tZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgZmxleDogMSAzMy4zMzMzMyU7IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXByaWNlID4gc3BhbiB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIge1xuICAgICAgICAgIC13ZWJraXQtZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgLW1vei1mbGV4OiAwIDY2LjY2NjY2JTtcbiAgICAgICAgICAtbXMtZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgLW8tZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAtbW96LWZsZXgtZmxvdzogcm93O1xuICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXgge1xuICAgICAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDM1JTtcbiAgICAgICAgICAgIC1tb3otZmxleDogMCAzNSU7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAzNSU7XG4gICAgICAgICAgICAtby1mbGV4OiAwIDM1JTtcbiAgICAgICAgICAgIGZsZXg6IDAgMzUlOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDBlODYyOyB9XG4gICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBpIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBzcGFuLFxuICAgICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLXVwZGF0ZWQtbGlzdCB7XG4gICAgICAgICAgICAtd2Via2l0LWZsZXg6IDY1JTtcbiAgICAgICAgICAgIC1tb3otZmxleDogNjUlO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDY1JTtcbiAgICAgICAgICAgIC1vLWZsZXg6IDY1JTtcbiAgICAgICAgICAgIGZsZXg6IDY1JTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwZTg2MjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cbiAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSB7XG4gICAgICAgIG1heC13aWR0aDogMjQ2cHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1wcmljZSA+IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy40Mzc1ZW07IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCA+IGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTsgfVxuICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzVweDsgfSB9XG5cbi5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogYWRkIG92ZXJyaWRlIHRvIHByZXZlbnQgbWFyZ2luIGJ1ZmZlciAqLyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIHAsXG4gIC5hbm5vdW5jZW1lbnQtYmFyIGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggMjBweCA0cHg7IH1cbiAgLmFubm91bmNlbWVudC1iYXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLypcclxuICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIC4zcztcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBcdGNvbG9yOiNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICovIH1cbiAgICAuYW5ub3VuY2VtZW50LWJhciBhOmhvdmVyLCAuYW5ub3VuY2VtZW50LWJhciBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIC53eXNpd3lnID4gLnd5c2l3eWctaW5uZXI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgIzAwZTg2MjtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICMwMGU4NjI7XG4gICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgIzAwZTg2MjsgfVxuICAgICAgLmFubm91bmNlbWVudC1iYXIgcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXNpemU6IDAuOTY4NzVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjsgfVxuICAgICAgICAuYW5ub3VuY2VtZW50LWJhciBwOmFmdGVyLCAuYW5ub3VuY2VtZW50LWJhciBwOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5hbm5vdW5jZW1lbnQtYmFyIHA6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNzJweCA1NHB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwZTg2MiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuYW5ub3VuY2VtZW50LWJhciBwOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgcmlnaHQ6IC01MnB4O1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNzJweCA1NHB4IDAgMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMwMGU4NjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5hbm5vdW5jZW1lbnQtYmFyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFCa0NBWUFBQUJ3NHBWVUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURZM0lEYzVMakUxTnpjME55d2dNakF4TlM4d015OHpNQzB5TXpvME1EbzBNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0k1TlVNNE56Y3pNREpDUlRFeFJUWTVSVFUxUkRnM1F6SXdOa1k1UVRreUlpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSTVOVU00TnpjME1ESkNSVEV4UlRZNVJUVTFSRGczUXpJd05rWTVRVGt5SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFqazFRemczTnpFd01rSkZNVEZGTmpsRk5UVkVPRGRETWpBMlJqbEJPVElpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UWprMVF6ZzNOekl3TWtKRk1URkZOamxGTlRWRU9EZERNakEyUmpsQk9USWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejVCclQ0bUFBQUIrRWxFUVZSNDJ1emIzVTNEQUF4Rlllb0ZtS2ZkQUFhbUd6QVBzRUJJSG5oQktrMURmbzd0WThrUGVZdjBTWkVpMzNzYWh1R3A4WnpIdlk3N0RIaVhyM0ZmUWd3T3hyanZJUVlIWTNvSU1UZ1lIVUhRR04xQThCaWRRRkpnZEFGSmc5RUJKQlZHZFpCMEdKVkJTQmlmY3pHcWd0QXdYdWRpVkFSSmpWRU5KRDFHSlpBU0dGVkF5bUJVQUNtRmtSMmtIRVpta0pJWVdVSEtZbVFFS1kyUkRhUThSaWFRRmhoWlFOcGdaQUJwaFVFSGFZZEJCbW1KUVFWcGkwRUVhWTFCQTJtUFFRSVJBd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUFnWWdCQXJtSXdRR1pNTjdFWUlDSUFRSVJBd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUF6V2tZaGc4eE1IT2VRQVl4R0JqalhrTU1Ec2IwcFFveE9CaC8vYW1MY1FER2tTQmkzTWl4aFJnY2pDTkF4TGlUOEF3eE9CaDdnb2d4TS9zY1luQXc5Z0FSNDhGV1FJakJ3ZGdTUkl5RkZZMFFZek9NUlNlTkVJT0RzVGFJR0NzYyswSU1Ec1phSUdLc2VBWVBNVGdZL3dVUlk0T0FTSWpCd1ZnS0lzYUcwYWtRZzRQeEtJZ1lPNFFLUXd3T3hsd1FNWGFNMjRZWUhJeDdJR0ljRUVRUE1UZ1l0MERFT0xDaUVXSndNSDZEaUFFb0w0VVlISXdmRURGQXRiNnBRWFVSZzlPeC9CWmdBT1VYT1J4R3k0YWFBQUFBQUVsRlRrU3VRbUNDXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgbGVmdDogLTEwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxNWRlZyk7IH0gfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgaDIge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSxcbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdCB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgaDIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGgyIHtcbiAgICBtaW4taGVpZ2h0OiAzNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsIHtcbiAgICBtYXJnaW46IDAgLTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1tb3otZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtby1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkge1xuICAgICAgLXdlYmtpdC1mbGV4OiAwIDUwJTtcbiAgICAgIC1tb3otZmxleDogMCA1MCU7XG4gICAgICAtbXMtZmxleDogMCA1MCU7XG4gICAgICAtby1mbGV4OiAwIDUwJTtcbiAgICAgIGZsZXg6IDAgNTAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gs1wiO1xuICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6ICMwMGU4NjI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICBib3R0b206IDdweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjRzOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSA+IHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YWZ0ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvdGlsZS10cmlhbmdsZS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICAtbXMtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEyMHB4O1xuICAgICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTIwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAuOHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjNzOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IC4yOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXI6YWZ0ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1czphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzZDU2MzsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGE6YmVmb3JlLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogLjA1O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xODc1ZW07IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmJlZm9yZSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTQwcHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmJlZm9yZSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzID4gYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQ6YmVmb3JlLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2JjYjtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQ6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0zMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdDphZnRlciB7XG4gICAgICByaWdodDogLTEwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMnB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgaDIge1xuICAgIG1hcmdpbi1sZWZ0OiAzOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjM3NWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGFydGljbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMGU4NjI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBlODYyO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnMgLnd5c2l3eWcgPiBkaXYge1xuICAgIG1hcmdpbjogMDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5kZWJ0LWludmVzdG9yczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnMgaDIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnMgaDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoLNcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnMgaDI6aG92ZXIsIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIGgyOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDBjZjU3OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5kZWJ0LWludmVzdG9ycyBoMjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJjMmYyZjsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgLmRhdGUtdGltZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM2NDY0NjQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IGgyIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgPiAud3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIgLml0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgPiAud3JhcHBlciAuaXRlbSAuZGF0ZS10aW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIgLml0ZW0gcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93O1xuICAgICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAgIC1vLWZsZXgtZmxvdzogcm93O1xuICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICBtYXJnaW46IDAgLTEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDBlbTsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyID4gLml0ZW0ge1xuICAgICAgICAtd2Via2l0LWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIC1tb3otZmxleDogMSAzMy4zMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIC1vLWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIGZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgLndyYXBwZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciA+IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyID4gLml0ZW0gcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfSB9XG5cbi5mZWF0dXJlZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAuZmVhdHVyZWQgPiBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2NDY0NjQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmZlYXR1cmVkIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmZlYXR1cmVkID4gaDIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLmZlYXR1cmVkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mZWF0dXJlZCAucm93IC5jb2x1bW4sIC5mZWF0dXJlZCAucm93IC5jb2x1bW5zIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFubm91bmNlbWVudC1iYXIgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnNoYXJlLXByb21vIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnRpbGUtbGlua3Mge1xuICAgICAgd2lkdGg6IDM4JTsgfVxuICAuZmVhdHVyZWQgLnJvdyAuY29sdW1uLCAuZmVhdHVyZWQgLnJvdyAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbmJvZHkuY2FyZWVycyAjbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiQXZlbmlyXCI7IH1cbiAgYm9keS5jYXJlZXJzICNtYWluIC50by10b3AtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAyMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC50by10b3AtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgYm9keS5jYXJlZXJzICNtYWluIC50by10b3AtYnV0dG9uLm1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBib3R0b206IDEwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBib2R5LmNhcmVlcnMgI21haW4gLnRvLXRvcC1idXR0b24ubW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIGJvZHkuY2FyZWVycyAjbWFpbiBzZWN0aW9uOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTEge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMSAuY29udGVudC1zZWN0LTEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMSAuY29udGVudC1zZWN0LTEge1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0xIGltZyB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgcmlnaHQ6IC01OHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0xIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTIgLnNlY3QtMi1tYWluLWltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA3NTBweDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTIgLnNlY3QtMi1tYWluLWltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0yIC5kZXNrdG9wLXZpZXcge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0yIC5kZXNrdG9wLXZpZXcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTIgLnNlY3QtMi1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMiAuc2VjdC0yLWNvbnRlbnQgLmdsYXNzLWJnIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA3MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMiAuc2VjdC0yLWNvbnRlbnQgLmdsYXNzLWJnIC5xdW90ZS10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0yIC5zZWN0LTItY29udGVudCAuZ2xhc3MtYmcgLnF1b3RlLXRleHQ6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgvUmVzb3VyY2VQYWNrYWdlcy9XZXNmYXJtZXJzL2Fzc2V0cy9kaXN0L2ltZy9jYXJlZXJzL3F1b3RlLWljb24ucG5nKTtcbiAgICAgICAgICAgIGxlZnQ6IC00NXB4O1xuICAgICAgICAgICAgdG9wOiAtMTVweDsgfVxuICAgICAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTIgLnNlY3QtMi1jb250ZW50IC5nbGFzcy1iZyAucXVvdGUtdGV4dDphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy9lbmQtcXVvdGUtaWNvbi5wbmcpO1xuICAgICAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMzdweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMiAuc2VjdC0yLWNvbnRlbnQgLmdsYXNzLWJnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMiAuc2VjdC0yLWNvbnRlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzBFMEUwRTsgfSB9XG4gIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTMge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODsgfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTMgLmNhcmQge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0zIC5jYXJkIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC00IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNTBweCAwOyB9XG4gICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNCAudmlkZW8td3JhcHBlciAuYmctaW1hZ2Uge1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsgfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTQgLnZpZGVvLXdyYXBwZXIgLnZpZGVvLWRlc2Mge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDMwcHggMzBweDsgfVxuICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC01IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTUgLmNvbnRlbnQtc2VjdC01IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNSAuY29udGVudC1zZWN0LTUge1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC01ID4gaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMCAwIDMwcHg7XG4gICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MHB4O1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC01ID4gaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC02IHtcbiAgICBiYWNrZ3JvdW5kOiAjMkQyRjJGO1xuICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4OyB9XG4gICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNiAudGFsZW50LXN3aXBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNiAudGFsZW50LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0LCBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC02IC50YWxlbnQtc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ3NEE0QTtcbiAgICAgICAgYmFja2dyb3VuZDogIzFCMUMxQztcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTYgLnRhYi1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC02IC5jYXJkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNiAuY2FyZC5zd2lwZXItc2xpZGUtYWN0aXZlIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNiAuY2FyZC5zd2lwZXItc2xpZGUtYWN0aXZlIC50YWxlbnQtbmFtZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC02IC5jYXJkLnN3aXBlci1zbGlkZSBpbWcge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTYgLmNhcmQgLnRhbGVudC1pbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNiAuY2FyZCAudGFsZW50LW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogI0ExQTJBMjsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNiAuY2FyZCAudGFsZW50LXBvc2l0aW9uIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICM2NzY4Njg7IH1cbiAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNyB7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTcgLmNvbnRlbnQtc2VjdC03IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNyAuY29udGVudC1zZWN0LTcge1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC03IC5jYXJkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgIGhlaWdodDogMjc1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTcgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogMzUwcHg7IH0gfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtNyAuY2FyZCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyB9XG4gICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC03IC5jYXJkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMDc5QjNBOyB9XG4gIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTgge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTgge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTggPiBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAzMHB4IDMwcHggMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC01MHB4O1xuICAgICAgaGVpZ2h0OiA0NDhweDtcbiAgICAgIHdpZHRoOiA0NiU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTggPiBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTkge1xuICAgIHBhZGRpbmc6IDUwcHggMDsgfVxuICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTkgLmNhcmQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VERURFRDtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgaGVpZ2h0OiAyNzVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtOSAuY2FyZCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNTBweDsgfSB9XG4gICAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC05IC5jYXJkIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IH1cbiAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTkgLmNhcmQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICMwNzlCM0E7IH1cbiAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMTAge1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgcGFkZGluZzogNTBweCAwOyB9XG4gICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMTAgLmJsb2ctc3dpcGVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIDIwcHggIWltcG9ydGFudDsgfVxuICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMTAgLmJsb2ctc3dpcGVyIC5ibG9nLXN3aXBlci1idXR0b24tcHJldixcbiAgICAgIGJvZHkuY2FyZWVycyAjbWFpbiAuY2FyZWVycy1zZWN0LTEwIC5ibG9nLXN3aXBlciAuYmxvZy1zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LmNhcmVlcnMgI21haW4gLmNhcmVlcnMtc2VjdC0xMCAuYmxvZy1idXR0b24td3JhcHBlciB7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tdG9wOiAtNTFweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgYm9keS5jYXJlZXJzICNtYWluIC5jYXJlZXJzLXNlY3QtMTAgLmJsb2ctYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5ib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IGhlYWRlciAuaGVybyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNTBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MyU7IH1cbiAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSBoZWFkZXIgLmhlcm8gLnByaW1hcnktYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSBoZWFkZXIgLmhlcm86aG92ZXIgLnByaW1hcnktYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IGhlYWRlciAuaGVyby5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwLjM1OyB9XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSBoZWFkZXIgLmhlcm8ub3ZlcmxheSAucHJpbWFyeS1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI0I0QjVCNTtcbiAgICAgIGJvcmRlci1jb2xvcjogI0I0QjVCNSAhaW1wb3J0YW50OyB9XG4gIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC1zdGlja3kgaGVhZGVyIC5oZXJvIC5tYWluLWltZyB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IGhlYWRlciAuaGVybyAubWFpbi1pbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSBoZWFkZXIgLmhlcm8ge1xuICAgICAgdG9wOiAxMzRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IGhlYWRlciAuaGVybyB7XG4gICAgICB0b3A6IDkwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IGhlYWRlciAuaGVybyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSBzZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG5cbmJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC1zdGlja3kgLmZpeGVkLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pclwiO1xuICB6LWluZGV4OiAxMDsgfVxuICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IC5maXhlZC1idXR0b24gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSAuZml4ZWQtYnV0dG9uIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKC9SZXNvdXJjZVBhY2thZ2VzL1dlc2Zhcm1lcnMvYXNzZXRzL2Rpc3QvaW1nL2NhcmVlcnMvYXJyb3cucG5nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSAuZml4ZWQtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG5ib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IC5tYWluLWltZy1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXN0aWNreSAubWFpbi1pbWctbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG5ib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtc3RpY2t5IC5hdXRob3Itd3JhcHBlciAuYXV0aG9yLW5hbWUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuXG5ib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtZnVsbHdpZHRoLWltZyAuaGVybyAubWFpbi1pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3NTBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC1mdWxsd2lkdGgtaW1nIC5oZXJvIC5tYWluLWltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG5ib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtZnVsbHdpZHRoLWltZyAuY2FyZWVycy1kZXRhaWwtY29udGVudCB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLWZ1bGx3aWR0aC1pbWcgLmNhcmVlcnMtZGV0YWlsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cblxuYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLWZ1bGx3aWR0aC1pbWcgLmNhcmQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuICBwYWRkaW5nOiAzMHB4O1xuICB0cmFuc2l0aW9uOiAwLjNzO1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC1mdWxsd2lkdGgtaW1nIC5jYXJkIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgfVxuICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtZnVsbHdpZHRoLWltZyAuY2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzA3OUIzQTsgfVxuXG5ib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtdGFiIC5oZXJvIC5tYWluLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDc1MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXRhYiAuaGVybyAubWFpbi1pbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXRhYiAuY29udGVudC10YWJzLXdyYXBwZXIge1xuICBwYWRkaW5nOiAxMDBweCAwO1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXRhYiAuY29udGVudC10YWJzLXdyYXBwZXIgLnRhYi1vcHRpb25zIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzdFN0U3RTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtdGFiIC5jb250ZW50LXRhYnMtd3JhcHBlciAudGFiLW9wdGlvbnMgbGk6Om1hcmtlciB7XG4gICAgICBjb2xvcjogIzA3OUIzQTsgfVxuICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItb3B0aW9ucyBsaS5hY3RpdmUge1xuICAgICAgY29sb3I6ICMwRjBFMEU7IH1cbiAgICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItb3B0aW9ucyBsaS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy9hcnJvdy1ob3Zlci1iaWcucG5nKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItb3B0aW9ucyBsaS5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgICAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtdGFiIC5jb250ZW50LXRhYnMtd3JhcHBlciAudGFiLW9wdGlvbnMgbGkuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtdGFiIC5jb250ZW50LXRhYnMtd3JhcHBlciAudGFiLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItc3dpcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItc3dpcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItc3dpcGVyIC50YWIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXRhYiAuY29udGVudC10YWJzLXdyYXBwZXIgLnRhYi1zd2lwZXIgLnRhYiBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItc3dpcGVyIC50YWIuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItY29udGVudHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0OSU7XG4gICAgcGFkZGluZzogNzVweCA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweCAwIDAgMzBweDtcbiAgICBoZWlnaHQ6IDQ1MHB4OyB9XG4gICAgYm9keS5jYXJlZXJzLmNhcmVlcnMtZGV0YWlsLXRhYiAuY29udGVudC10YWJzLXdyYXBwZXIgLnRhYi1jb250ZW50cyAudGFiLWNvbnRlbnQtaWNvbiB7XG4gICAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICBib2R5LmNhcmVlcnMuY2FyZWVycy1kZXRhaWwtdGFiIC5jb250ZW50LXRhYnMtd3JhcHBlciAudGFiLWNvbnRlbnRzIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvZHkuY2FyZWVycy5jYXJlZXJzLWRldGFpbC10YWIgLmNvbnRlbnQtdGFicy13cmFwcGVyIC50YWItY29udGVudHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cblxuYm9keS5jYXJlZXJzIC5wcmltYXJ5LWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFQkVCRUI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDc5QjNBO1xuICBwYWRkaW5nOiAxMnB4IDQwcHggMTBweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiQXZlbmlyXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgYm9keS5jYXJlZXJzIC5wcmltYXJ5LWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogdXJsKC9SZXNvdXJjZVBhY2thZ2VzL1dlc2Zhcm1lcnMvYXNzZXRzL2Rpc3QvaW1nL2NhcmVlcnMvYXJyb3cucG5nKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgYm9keS5jYXJlZXJzIC5wcmltYXJ5LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3OUIzQTtcbiAgICBib3JkZXItY29sb3I6ICMwNzlCM0E7IH1cbiAgICBib2R5LmNhcmVlcnMgLnByaW1hcnktYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybCgvUmVzb3VyY2VQYWNrYWdlcy9XZXNmYXJtZXJzL2Fzc2V0cy9kaXN0L2ltZy9jYXJlZXJzL2Fycm93LWhvdmVyLnBuZyk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5jYXJlZXJzIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbmJvZHkuY2FyZWVycyAuYmxvZy10aWxlIHtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBib2R5LmNhcmVlcnMgLmJsb2ctdGlsZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAxM3B4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuICBib2R5LmNhcmVlcnMgLmJsb2ctdGlsZSAuYmxvZy1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMCAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG1heC1oZWlnaHQ6IDI4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgYm9keS5jYXJlZXJzIC5ibG9nLXRpbGUgLmJsb2ctaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDsgfSB9XG4gIGJvZHkuY2FyZWVycyAuYmxvZy10aWxlIC5ibG9nLXRpbGUtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIGJvZHkuY2FyZWVycyAuYmxvZy10aWxlIC5ibG9nLXRpbGUtd3JhcHBlciB1bCBsaSB7XG4gICAgICBjb2xvcjogIzA3OUIzQTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyB9XG4gICAgYm9keS5jYXJlZXJzIC5ibG9nLXRpbGUgLmJsb2ctdGlsZS13cmFwcGVyIHAge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgfVxuICAgIGJvZHkuY2FyZWVycyAuYmxvZy10aWxlIC5ibG9nLXRpbGUtd3JhcHBlciAuYmxvZy10aWxlLWJvdHRvbS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIGJvZHkuY2FyZWVycyAuYmxvZy10aWxlIC5ibG9nLXRpbGUtd3JhcHBlciAuYmxvZy10aWxlLWJvdHRvbS13cmFwcGVyIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICBib2R5LmNhcmVlcnMgLmJsb2ctdGlsZSAuYmxvZy10aWxlLXdyYXBwZXIgLmJsb2ctdGlsZS1ib3R0b20td3JhcHBlciAuYXV0aG9yLXdyYXBwZXIgLmF1dGhvci1uYW1lLXdyYXBwZXIgLmF1dGhvci1wb3NpdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgICAgICAgIGJvZHkuY2FyZWVycyAuYmxvZy10aWxlIC5ibG9nLXRpbGUtd3JhcHBlciAuYmxvZy10aWxlLWJvdHRvbS13cmFwcGVyIC5hdXRob3Itd3JhcHBlciAuYXV0aG9yLW5hbWUtd3JhcHBlciAuYXV0aG9yLXBvc2l0aW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTg1cHggIWltcG9ydGFudDsgfSB9XG4gICAgICBib2R5LmNhcmVlcnMgLmJsb2ctdGlsZSAuYmxvZy10aWxlLXdyYXBwZXIgLmJsb2ctdGlsZS1ib3R0b20td3JhcHBlciAuYmxvZy11cmwge1xuICAgICAgICBjb2xvcjogIzA3OUIzQTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICBib2R5LmNhcmVlcnMgLmJsb2ctdGlsZSAuYmxvZy10aWxlLXdyYXBwZXIgLmJsb2ctdGlsZS1ib3R0b20td3JhcHBlciAuYmxvZy11cmwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cbiAgICAgICAgYm9keS5jYXJlZXJzIC5ibG9nLXRpbGUgLmJsb2ctdGlsZS13cmFwcGVyIC5ibG9nLXRpbGUtYm90dG9tLXdyYXBwZXIgLmJsb2ctdXJsOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy9hcnJvdy5wbmcpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDsgfVxuXG5ib2R5LmNhcmVlcnMgaDEsIGJvZHkuY2FyZWVycyBoMiwgYm9keS5jYXJlZXJzIGgzLCBib2R5LmNhcmVlcnMgaDQsIGJvZHkuY2FyZWVycyBoNSwgYm9keS5jYXJlZXJzIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiQXZlbmlyXCI7IH1cblxuYm9keS5jYXJlZXJzIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtOyB9XG5cbmJvZHkuY2FyZWVycyBwLCBib2R5LmNhcmVlcnMgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMaWdodFwiOyB9XG5cbmJvZHkuY2FyZWVycyAudmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBib2R5LmNhcmVlcnMgLnZpZGVvLXdyYXBwZXIuc21hbGwge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDsgfVxuICAgIGJvZHkuY2FyZWVycyAudmlkZW8td3JhcHBlci5zbWFsbCAucGxheS1idXR0b24td3JhcHBlciB7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGhlaWdodDogNzBweDsgfVxuICBib2R5LmNhcmVlcnMgLnZpZGVvLXdyYXBwZXIgLnBsYXktYnV0dG9uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKiBwYWRkaW5nOiAyMHB4OyAqL1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvZHkuY2FyZWVycyAudmlkZW8td3JhcHBlciAucGxheS1idXR0b24td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuICAgIGJvZHkuY2FyZWVycyAudmlkZW8td3JhcHBlciAucGxheS1idXR0b24td3JhcHBlci50YWJsZXQtdmlldyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIGJvZHkuY2FyZWVycyAudmlkZW8td3JhcHBlciAucGxheS1idXR0b24td3JhcHBlci50YWJsZXQtdmlldyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgYm9keS5jYXJlZXJzIC52aWRlby13cmFwcGVyIC5wbGF5LWJ1dHRvbi13cmFwcGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwNzlCM0EgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3OUIzQSAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5jYXJlZXJzIC52aWRlby13cmFwcGVyIC5wbGF5LWJ1dHRvbi13cmFwcGVyIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAzcHg7IH1cbiAgYm9keS5jYXJlZXJzIC52aWRlby13cmFwcGVyIC52aWRlby1kZXNjIHtcbiAgICBoZWlnaHQ6IDEwJTtcbiAgICBmb250LWZhbWlseTogXCJBdmVuaXJcIjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiYSgwLCAwLCAwLCAwLjgpLCB0cmFuc3BhcmVudCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAzMHB4IDAgNTBweDtcbiAgICBjb2xvcjogI2Q4ZDhkODtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgYm9keS5jYXJlZXJzIC52aWRlby13cmFwcGVyIC52aWRlby1kZXNjOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy92aWRlby1pbmZvLnBuZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBib2R5LmNhcmVlcnMgLnZpZGVvLXdyYXBwZXIgLnZpZGVvLWRlc2Mge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gIGJvZHkuY2FyZWVycyAudmlkZW8td3JhcHBlciAuYmctaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbmJvZHkuY2FyZWVycyAuYXV0aG9yLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIGJvZHkuY2FyZWVycyAuYXV0aG9yLXdyYXBwZXIgLmF1dGhvci1pbWcge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIGJvZHkuY2FyZWVycyAuYXV0aG9yLXdyYXBwZXIgLmF1dGhvci1uYW1lLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIGJvZHkuY2FyZWVycyAuYXV0aG9yLXdyYXBwZXIgLmF1dGhvci1uYW1lLXdyYXBwZXIgLmF1dGhvci1uYW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gICAgYm9keS5jYXJlZXJzIC5hdXRob3Itd3JhcHBlciAuYXV0aG9yLW5hbWUtd3JhcHBlciAuYXV0aG9yLXBvc2l0aW9uIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbmJvZHkuY2FyZWVycyAucG9pbnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5ib2R5LmNhcmVlcnMgLmF0LXNoYXJlLWJ0bi1lbGVtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuXG5ib2R5LmNhcmVlcnMgLmF0LXNoYXJlLWJ0biB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5ib2R5LmNhcmVlcnMgLnJldmVhbC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5OSAhaW1wb3J0YW50OyB9XG4gIGJvZHkuY2FyZWVycyAucmV2ZWFsLW92ZXJsYXk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IHVybCgvUmVzb3VyY2VQYWNrYWdlcy9XZXNmYXJtZXJzL2Fzc2V0cy9kaXN0L2ltZy9jYXJlZXJzL2Nsb3NlLWljb24ucG5nKTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICByaWdodDogNTBweDtcbiAgICB0b3A6IDUwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJvZHkuY2FyZWVycyAucmV2ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIGJvZHkuY2FyZWVycyAucmV2ZWFsIHtcbiAgICAgIHRvcDogMTMwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogYXV0bzsgfSB9XG5cbmJvZHkuY2FyZWVycyAuY2xvc2UtYnV0dG9uIHtcbiAgZm9udC1zaXplOiAzZW0gIWltcG9ydGFudDsgfVxuXG5ib2R5LmNhcmVlcnMgLmNsb3NlLWJ1dHRvbjpob3ZlciwgYm9keS5jYXJlZXJzIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICBjb2xvcjogIzhhOGE4YSAhaW1wb3J0YW50OyB9XG5cbmJvZHkuY2FyZWVycyAuc3VidGl0bGUge1xuICB3aWR0aDogNzUlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJvZHkuY2FyZWVycyAuc3VidGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5ib2R5LmNhcmVlcnMgLnctMTAwIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGJvZHkuY2FyZWVycyAuc2hhcmUtYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbmJvZHkuY2FyZWVycyAuc2hhcmUtYnV0dG9uLXdyYXBwZXItbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJvZHkuY2FyZWVycyAuc2hhcmUtYnV0dG9uLXdyYXBwZXItbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuYm9keS5jYXJlZXJzIC50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5ib2R5LmNhcmVlcnMgLnRleHQtYm9sZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBCb2xkXCIgIWltcG9ydGFudDsgfVxuXG5ib2R5LmNhcmVlcnMgLnRleHQtbGlnaHQge1xuICBmb250LWZhbWlseTogXCJBdmVuaXIgTGlnaHRcIiAhaW1wb3J0YW50OyB9XG5cbmJvZHkuY2FyZWVycyAuZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG5ib2R5LmNhcmVlcnMgLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG5ib2R5LmNhcmVlcnMgLmFsaWduLWl0ZW1zLWJhc2Uge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGJvZHkuY2FyZWVycyAuZmxleC1jb2x1bW4tbW9iaWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuYm9keS5jYXJlZXJzIC5vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuYm9keS5jYXJlZXJzIC5vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuYm9keS5jYXJlZXJzIC5qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbmJvZHkuY2FyZWVycyAuYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG5ib2R5LmNhcmVlcnMgLmp1c3RpZnktYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5ib2R5LmNhcmVlcnMgLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5ib2R5LmNhcmVlcnMgLm1yLW5vbmUtbW9iaWxlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbmJvZHkuY2FyZWVycyAubXItMTAge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuYm9keS5jYXJlZXJzIC5tci0yMCB7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm1iLTEwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgYm9keS5jYXJlZXJzIC5tYi0xMC1tb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG5ib2R5LmNhcmVlcnMgLm1iLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm1iLTMwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm1iLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm1iLTUwIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm10LTEwIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm10LTIwIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLm10LTMwIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG5ib2R5LmNhcmVlcnMgLnB0LTMwIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cblxuYm9keS5jYXJlZXJzIC50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuYm9keS5jYXJlZXJzIC50ZXh0LWdyZWVuIHtcbiAgY29sb3I6ICMwNzlCM0E7IH1cblxuYm9keS5jYXJlZXJzIC50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuYm9keS5jYXJlZXJzIC5jYXJkIHVsIGxpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgYm9keS5jYXJlZXJzIC5jYXJkIHVsIGxpOjptYXJrZXIge1xuICAgIGNvbG9yOiAjMDc5QjNBOyB9XG5cbmJvZHkuY2FyZWVycyAudXNlZnVsLXBhZ2Uge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbmJvZHkuY2FyZWVycyAuc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsIGJvZHkuY2FyZWVycyAuc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLCBib2R5LmNhcmVlcnMgLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgYm90dG9tOiAyM3B4OyB9XG5cbmJvZHkuY2FyZWVycyAuc3dpcGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG5cbmJvZHkuY2FyZWVycyAuc3dpcGVyLWJ1dHRvbi1uZXh0LCBib2R5LmNhcmVlcnMgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGNvbG9yOiAjMDc5QjNBICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMTJweDtcbiAgdG9wOiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYm9keS5jYXJlZXJzIC5zd2lwZXItYnV0dG9uLXByZXYsIGJvZHkuY2FyZWVycyAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHJpZ2h0OiA0MHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbmJvZHkuY2FyZWVycyAuc3dpcGVyLWJ1dHRvbi1uZXh0LCBib2R5LmNhcmVlcnMgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG5ib2R5LmNhcmVlcnMgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgYm9keS5jYXJlZXJzIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxuXG5ib2R5LmNhcmVlcnMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDc5QjNBICFpbXBvcnRhbnQ7IH1cblxuI2NhcmVlcnMtY29ycG9yYXRlIC5ncmV5LXBhbmVsIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNjM2UzZTsgfVxuICAjY2FyZWVycy1jb3Jwb3JhdGUgLmdyZXktcGFuZWwgPiAubGFyZ2UtY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucXVvdGUtaW50cm8ge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7IH1cblxuLmNhcmVlci1wYW5lbHMgLmFycm93LWxpbmstcmlnaHQge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxODc1ZW07IH1cbiAgLmNhcmVlci1wYW5lbHMgLmFycm93LWxpbmstcmlnaHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzAwZTg2MjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmNhcmVlci1wYW5lbHMgYTpob3ZlciAuYXJyb3ctbGluay1yaWdodCwgLmNhcmVlci1wYW5lbHMgYTpmb2N1cyAuYXJyb3ctbGluay1yaWdodCB7XG4gIGNvbG9yOiAjMDBlODYyOyB9XG5cbi5jYXJlZXItcGFuZWxzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlID4gaDIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC5jYXJlZXItcGFuZWxzIC5jYXJlZXItcGFuZWwgYSA+IC50aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAgIC5jYXJlZXItcGFuZWxzIC5jYXJlZXItcGFuZWwgYSA+IC50aXRsZSA+IGgyIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlID4gLmFycm93LWxpbmstcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlID4gaDIge1xuICAgICAgcGFkZGluZzogMzZweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcbiAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlID4gLmFycm93LWxpbmstcmlnaHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlIHtcbiAgICB3aWR0aDogNDIlOyB9XG4gICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlID4gaDIge1xuICAgICAgZm9udC1zaXplOiAyLjI1ZW07IH1cbiAgICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUgPiAuYXJyb3ctbGluay1yaWdodCB7XG4gICAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5jYXJlZXItcGFuZWxzIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuXG4ubWFpbiAuY2FyZWVycyAuY29sdW1ucyB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jYXJlZXJzICsgLmdyZXktcGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJlZXJzLXBhbmVsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7XG4gIHBhZGRpbmctdG9wOiAzNXB4OyB9XG5cbi5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVlbTsgfSB9XG4gIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCBoMjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGNvbG9yOiAjMDBlODYyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCBoMyxcbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIGg0LFxuICAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWwgaDUsXG4gIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCBoNiB7XG4gICAgY29sb3I6ICNlYWVhZWE7IH1cbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIC5jb2x1bW5zIHtcbiAgICB6LWluZGV4OiAyMDA7IH1cbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3N0cm9rZS1zdmcuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCAucm93OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIGgyOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuXG4ubGlzdC1pbWFnZS1jb3B5IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmxpc3QtaW1hZ2UtY29weSB7XG4gICAgICBtYXJnaW4tbGVmdDogNi4yNWVtOyB9IH1cbiAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDQwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDMuMTI1ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmltYWdlID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmltYWdlIHtcbiAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNWVtO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTsgfSB9XG4gICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMjBweCAwIDEuMjVyZW07XG4gICAgICBmb250LXNpemU6IDAuOTY4NzVlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSBhLm1vcmUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSBoMyB7XG4gICAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07IH1cbiAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IHAge1xuICAgICAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAjY2FjYmNiIDFweCBzb2xpZDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5ID4gLndyYXBwZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogaW5pdGlhbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5ID4gLndyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTsgfVxuICAgICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkgcCB7XG4gICAgICAgICAgY29sb3I6ICM2MTYzNjM7IH0gfVxuXG4ucHJvZmlsZS5kZXRhaWwgLmltYWdlIHtcbiAgbWFyZ2luOiAwIGF1dG8gMjVweDtcbiAgd2lkdGg6IDIzNXB4OyB9XG5cbi5vdXItYnVzaW5lc3NlcyAucGFnZS1pbnRybyA+IC53eXNpd3lnIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIHtcbiAgcGFkZGluZzogMCAyMHB4IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDU1cHg7IH1cbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xuICAgIG1hcmdpbjogNDBweCAtMTBweCAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgPiAud3lzaXd5ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIE1lZGl1bSc7XG4gICAgICBmb250LXNpemU6IDEuMDYyNWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYmNiO1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qCKXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICAgICAgY29sb3I6ICMwMGU4NjI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6aG92ZXIsIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6Zm9jdXMsIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6YWN0aXZlIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyBhOmhvdmVyOmFmdGVyLCAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyBhOmZvY3VzOmFmdGVyLCAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyBhOmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogIzBCODY1MTsgfVxuICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLmNvbHVtbnMgPiAucGFuZWwge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLnJvdy1oZWFkZXIge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIC5yb3ctaGVhZGVyIC5wYW5lbCAuaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5vdXItYnVzaW5lc3NlcyAud3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAucGFnZS1pbnRybyA+IC53eXNpd3lnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLnJvdy1oZWFkZXIge1xuICAgIGZsZXg6IDEgMSAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLnJvdy1oZWFkZXIgLnBhbmVsIC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub3VyLWJ1c2luZXNzZXMgLnBhZ2UtaW50cm8gPiAud3lzaXd5ZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMCAzMHB4OyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLmNvbHVtbnMgLnd5c2l3eWcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIC5yb3ctaGVhZGVyIHtcbiAgICAgIGZsZXg6IDEgMSAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLnJvdy1oZWFkZXIgLnBhbmVsIC5pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMsXG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXA6Zmlyc3QtY2hpbGQgaDMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbjogMjBweCAxMHB4IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cDpmaXJzdC1jaGlsZCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAucm93LWdyb3VwIC53eXNpd3lnIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAuY29sdW1ucyAud3lzaXd5ZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1NXB4IDU1cHggMCA1NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDE2LjY2NjYlO1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjYlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzc1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi5vdXItYnVzaW5lc3NlcyBoMyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAzNXB4IDAgNTVweCAwOyB9XG5cbi5vdXItYnVzaW5lc3NlcyAucGFuZWwge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vdXItYnVzaW5lc3NlcyAuZmVhdHVyZWQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgLm91ci1idXNpbmVzc2VzIC5mZWF0dXJlZCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2NDY0NjQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLm91ci1idXNpbmVzc2VzIC5mZWF0dXJlZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5vdXItYnVzaW5lc3NlcyAuZmVhdHVyZWQgaDIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIHtcbiAgICBtYXJnaW46IDAgMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLmZlYXR1cmVkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mZWF0dXJlZCAucm93IC5jb2x1bW4sIC5mZWF0dXJlZCAucm93IC5jb2x1bW5zIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIC5ncmlkIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAub3VyLWJ1c2luZXNzZXMgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC5ncmlkIC5zaGFyZS1wcm9tbyB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC5ncmlkIC50aWxlLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAzOCU7IH1cbiAgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbiwgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vdXItZGl2aXNpb25zIGFydGljbGUud3lzaXd5ZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5vdXItZGl2aXNpb25zIGFydGljbGUud3lzaXd5ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm91ci1kaXZpc2lvbnMgLnBhZ2UtaW50cm8ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vdXItZGl2aXNpb25zIC5pbnRyby1wYXJhIHtcbiAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgLyogQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHQvL3BhZGRpbmc6IDUwcHggMTAwcHggMCAxMDBweDtcclxuXHRcdFx0cGFkZGluZzogNTBweCAwIDAgMDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcclxuXHRcdFx0cGFkZGluZzogNTBweCAwIDAgMDtcdFx0XHRcclxuXHRcdH0gKi8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm91ci1kaXZpc2lvbnMgLmludHJvLXBhcmEge1xuICAgICAgcGFkZGluZzogNTBweCAwIDAgMDsgfSB9XG5cbi5vdXItZGl2aXNpb25zIC5iaXotZ3JvdXAge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxMnB4IHNvbGlkICNlYWVhZWE7IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWdyb3VwIC5wYW5lbCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5vdXItZGl2aXNpb25zIC5iaXotZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLm91ci1kaXZpc2lvbnMgLmJpei1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDsgfSB9XG5cbi5vdXItZGl2aXNpb25zIC5iaXotaXRlbSB7XG4gIHBhZGRpbmc6IDEwcHggMCA0NXB4IDA7IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIGgzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIHAge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIHAge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIC5iaXotbG9nbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSAuYml6LWxvZ28ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gLmJpei1sb2dvIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzYxNjM2MztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NWVtOyB9IH1cbiAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gs1wiO1xuICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLuoLNcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICAgIGNvbG9yOiAjMDBlODYyOyB9IH1cbiAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYTpob3ZlciwgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIGE6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYTpob3ZlcjphZnRlciwgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIGE6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMwQjg2NTE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLm91ci1kaXZpc2lvbnMgLmludHJvLXBhcmEge1xuICAgIHBhZGRpbmc6IDUwcHggMCAwIDA7IH0gfVxuXG4uYXN4LWFubm91bmNlIC5wYWdlLWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYXN4LWFubm91bmNlIC5jb2x1bW5zIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFzeC1hbm5vdW5jZSAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmFzeC1hbm5vdW5jZSAuYXN4LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY1cHg7IH1cbiAgLmFzeC1hbm5vdW5jZSAuYXN4LWhlYWRlciBoMiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFzeC1hbm5vdW5jZSAuYXN4LXJlc3VsdHMge1xuICBwYWRkaW5nLWJvdHRvbTogNTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hc3gtYW5ub3VuY2UgLmRhdGUtZ3JvdXAgbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAuYXN4LWFubm91bmNlIC5kYXRlLWdyb3VwIGxpID4gc3BhbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVlbTsgfVxuICAuYXN4LWFubm91bmNlIC5kYXRlLWdyb3VwIGxpID4gYSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG5cbi5hc3gtYW5ub3VuY2UgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE1cHggN3B4O1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDE1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXN4LWFubm91bmNlIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDdweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyYzJmMmY7IH0gfVxuICAuYXN4LWFubm91bmNlIGJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJ1xcZTgwNCc7XG4gICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAwO1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAuYXN4LWFubm91bmNlIGJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5hc3gtYW5ub3VuY2UgYnV0dG9uOmhvdmVyLCAuYXN4LWFubm91bmNlIGJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTUwcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB7XG4gICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB7XG4gICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAuYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzYzYTQ1OyB9XG4gICAgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB1bCBsaSB7XG4gICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM2M2E0NTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5hc3gtYW5ub3VuY2UgLmRyb3Bkb3duLXBhbmUgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIC5hc3gtYW5ub3VuY2UgLmRyb3Bkb3duLXBhbmUgdWwgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCA3cHg7XG4gICAgICAgIGNvbG9yOiAjMzYzYTQ1OyB9XG4gICAgICAgIC5hc3gtYW5ub3VuY2UgLmRyb3Bkb3duLXBhbmUgdWwgbGkgYTpob3ZlciwgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB1bCBsaSBhOmFjdGl2ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAuYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbmFydGljbGUgLmxpc3QtbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAzMHB4IDA7IH1cbiAgYXJ0aWNsZSAubGlzdC1saW5rcyA+IGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgYXJ0aWNsZSAubGlzdC1saW5rcyA+IGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDhweCAwOyB9XG4gICAgICBhcnRpY2xlIC5saXN0LWxpbmtzID4gbGkgPiBhID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzOyB9XG4gICAgICBhcnRpY2xlIC5saXN0LWxpbmtzID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbmFydGljbGUgPiAubGlzdC1saW5rczpmaXJzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7IH1cblxuYXJ0aWNsZSA+IC5hY2NvcmRpb24gLmxpc3QtbGlzdDpsaXN0LWxpbmtzIHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uY29udGFjdCA+IC5yb3cge1xuICBwYWRkaW5nLXRvcDogMzVweDsgfVxuXG4uY29udGFjdCAuaHEtZGV0YWlscyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS40NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdCAuaHEtZGV0YWlscyBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40NWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWN0IC5ocS1kZXRhaWxzIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29udGFjdCAuaHEtZGV0YWlscyAucm93IC5jb2x1bW4gLnd5c2l3eWcsIC5jb250YWN0IC5ocS1kZXRhaWxzIC5yb3cgLmNvbHVtbnMgLnd5c2l3eWcge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuY29udGFjdCAuaHEtZGV0YWlscyAucm93IC5jb2x1bW4gLnd5c2l3eWcsIC5jb250YWN0IC5ocS1kZXRhaWxzIC5yb3cgLmNvbHVtbnMgLnd5c2l3eWcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jb250YWN0IC5ocS1kZXRhaWxzIC53eXNpd3lnIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0IC5ocS1kZXRhaWxzIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLmNvbnRhY3QgLmhlcm8ge1xuICBtYXJnaW46IDQ1cHggMCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMjBweCAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QgLmhlcm8ge1xuICAgICAgbWFyZ2luOiA0NXB4IDAgMCAwOyB9IH1cbiAgLmNvbnRhY3QgLmhlcm8gLmp1bXAtbGluayB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgIC5jb250YWN0IC5oZXJvIC5qdW1wLWxpbmsgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNvbnRhY3QgLmhlcm8gLmp1bXAtbGluayA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgICAgLmNvbnRhY3QgLmhlcm8gLmp1bXAtbGluayA+IGE6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29udGVudDogXCLuoLVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICBmb250LXNpemU6IDE0O1xuICAgICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY29udGFjdCAuaGVybyAuanVtcC1saW5rID4gYSA+IHNwYW4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuY29udGFjdCAuaGVybyAuanVtcC1saW5rID4gYSA+IHNwYW46aG92ZXIsIC5jb250YWN0IC5oZXJvIC5qdW1wLWxpbmsgPiBhID4gc3Bhbjpmb2N1cywgLmNvbnRhY3QgLmhlcm8gLmp1bXAtbGluayA+IGEgPiBzcGFuOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBmaWVsZHNldCA+IGRpdixcbi5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLnNmX2NvbHNJbiA+IGRpdiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gIGZvbnQtc2l6ZTogMC42ODc1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNjE2MzYzO1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0LFxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBzZWxlY3Qge1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyYzJmMmY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dDpmb2N1cyxcbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBzZWxlY3Q6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIGJvcmRlci1jb2xvcjogIzYxNjM2MzsgfVxuICAgIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXQ6Zm9jdXM6YWZ0ZXIsXG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBzZWxlY3Q6Zm9jdXM6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHBpbms7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dDpub3QoOmZvY3VzKTppbnZhbGlkLFxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIHNlbGVjdDpub3QoOmZvY3VzKTppbnZhbGlkIHtcbiAgICBjb2xvcjogIzYxNjM2MztcbiAgICBib3JkZXItY29sb3I6ICM2MTYzNjM7IH1cblxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5jb250YWN0IC5zZW5kLW1lc3NhZ2Ugc2VsZWN0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gsVwiO1xuICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICBmb250LXNpemU6IDE0O1xuICAgIGNvbG9yOiAjNjE2MzYzOyB9XG5cbi5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLmVycm9yIHtcbiAgY29sb3I6ICNlYzY3MWM7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAuZXJyb3IgbGFiZWwge1xuICAgIGNvbG9yOiAjZWM2NzFjOyB9XG4gIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLmVycm9yIGlucHV0IHtcbiAgICBjb2xvcjogI2VjNjcxYztcbiAgICBib3JkZXItY29sb3I6ICNlYzY3MWM7IH1cbiAgICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC5lcnJvciBpbnB1dDpub3QoOmZvY3VzKSB7XG4gICAgICBjb2xvcjogI2VjNjcxYztcbiAgICAgIGJvcmRlci1jb2xvcjogI2VjNjcxYzsgfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J3RleHQnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J2RhdGUnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdkYXRldGltZSddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0nbW9udGgnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSd3ZWVrJ10sIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0nZW1haWwnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdudW1iZXInXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSd0ZWwnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSd0aW1lJ10sIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0ndXJsJ10sIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0nY29sb3InXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSB0ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSB0ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDM5NXB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAuYnRuLXN1Ym1pdCB7XG4gIGZsb2F0OiByaWdodDtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLmJ0bi1zdWJtaXQge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS40NWVtO1xuICBwYWRkaW5nOiAzNXB4IDA7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIGE6aG92ZXIsIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLnRuYyBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLnRuYyBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9XG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiBzcGFuOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuOWVtO1xuICAgICAgY29udGVudDogXCLuoLdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07XG4gICAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC50bmMgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIH4gc3BhbjpiZWZvcmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IC45ZW07XG4gICAgY29udGVudDogXCLuoLZcIjsgfVxuXG4uY29udGFjdCAuYnVzaW5lc3MtY29udGFjdCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYmNiO1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi5jb250YWN0IC5jb250YWN0LWl0ZW0ge1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdCAuY29udGFjdC1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtOyB9IH1cbiAgLmNvbnRhY3QgLmNvbnRhY3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbnRhY3QgLmNvbnRhY3QtaXRlbSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YWN0IC5jb250YWN0LWl0ZW0gcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdCAuY29udGFjdC1pdGVtIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY29udGFjdCAuY29udGFjdC1pdGVtIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jb250YWN0IC5hY2NvcmRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG5cbi5jb250YWN0IC5hY2NvcmRpb24tY29udGVudCA+IC5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NhY2JjYjtcbiAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxlODA0JztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlIDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDM3JSAwO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogNTAlIDM3JSAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlID4gaDIsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgPiBoMyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06aG92ZXIgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06Zm9jdXMgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMmMyZjJmO1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmhvdmVyIC5hY2NvcmRpb24tdGl0bGUgPiBoMiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06aG92ZXIgLmFjY29yZGlvbi10aXRsZSA+IGgzLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpmb2N1cyAuYWNjb3JkaW9uLXRpdGxlID4gaDIsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmZvY3VzIC5hY2NvcmRpb24tdGl0bGUgPiBoMyB7XG4gICAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzJjMmYyZjsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUgPiBoMiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUgPiBoMyB7XG4gICAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubGlzdC1jb2x1bW5zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmxpc3QtY29sdW1ucyA+IGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5saXN0LWNvbHVtbnMgPiBsaTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubGlzdC1jb2x1bW5zID4gbGkge1xuICAgICAgICAgICAgICB3aWR0aDogNDkuNTU1NSU7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubGlzdC1jb2x1bW5zID4gbGkge1xuICAgICAgICAgICAgICB3aWR0aDogMzIuMjIyMiU7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubGlzdC1jb2x1bW5zID4gbGkge1xuICAgICAgICAgICAgICB3aWR0aDogMzIuMjIyMiU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxLjBlbTsgfVxuICAgIC5hY2NvcmRpb24tY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wZW07IH1cbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjBlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSA+IGgyLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlID4gaDMge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgPiBoMiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSA+IGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IH0gfVxuXG4ubmV3cy1tZWRpYSAucGFuZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRleHQtb25seSA+IGE6aG92ZXIgLmltYWdlOmJlZm9yZSxcbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRleHQtb25seSBhOmZvY3VzIC5pbWFnZTpiZWZvcmUsIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyID4gYTpob3ZlciAuaW1hZ2U6YmVmb3JlLFxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciBhOmZvY3VzIC5pbWFnZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRleHQtb25seSA+IGE6aG92ZXIgLmltYWdlIGltZyxcbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRleHQtb25seSBhOmZvY3VzIC5pbWFnZSBpbWcsIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyID4gYTpob3ZlciAuaW1hZ2UgaW1nLFxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciBhOmZvY3VzIC5pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiBhdXRvOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgyLFxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUgPiBoMyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwMzEzZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwgLmltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC5pbWFnZSA+IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwgLmNvcHkge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLmNvcHkgcCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuLm5ld3MtbWVkaWEgLnBhbmVsLnRvcC1sZXZlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRvcC1sZXZlbCAudGl0bGUgPiBoMixcbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRvcC1sZXZlbCAudGl0bGUgPiBoMyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjsgfVxuXG4ubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCAuZGF0ZS10aW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogIzY0NjQ2NDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgTWVkaXVtJzsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuOTM3NWVtOyB9XG4gICAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCBwID4gYSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5uZXdzLW1lZGlhIC5sYXJnZS1leHBhbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgNTAlO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTsgfVxuICAgICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgyLFxuICAgICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAuaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50b3AtbGV2ZWwgLnRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cbiAgICAgICAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnR3aXR0ZXItcGFuZWwgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC5jb3B5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjMDBlODYyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubmV3cy1tZWRpYSAubGFyZ2UtZXhwYW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIDMzLjMzMzMlOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUge1xuICAgIG1pbi1oZWlnaHQ6IDEzMHB4OyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgyLFxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUgPiBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAubmV3cy1tZWRpYSAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwudGV4dC1vbmx5IC50aXRsZSwgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC5pbWFnZSA+IGltZyB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSB7XG4gICAgbWluLWhlaWdodDogMTYwcHg7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDIsXG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnRleHQtb25seSAudGl0bGUsIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCBwIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSB7XG4gICAgbWluLWhlaWdodDogMTkwcHg7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDIsXG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyOXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjlweDsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCBwIHtcbiAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAubGFyZ2UtZXhwYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5sYXJnZS1leHBhbmQgLnBhbmVsID4gYSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50aXRsZSA+IHAge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50aXRsZSA+IGgyIHtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnR3aXR0ZXItcGFuZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDgwcHg7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCA+IHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnF1b3RlLWludHJvLFxuLnF1b3RlLWludHJvID4gcCB7XG4gIGZvbnQtZmFtaWx5OiAnSGV1cmlzdGljYSc7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5xdW90ZS1pbnRybyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuICAucXVvdGUtaW50cm8gPiBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLnF1b3RlLWludHJvID4gcCA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5xdW90ZS1pbnRybyA+IHAgPiBzcGFuOmZpcnN0LW9mLXR5cGUsXG4gICAgLnF1b3RlLWludHJvID4gcCA+IHNwYW46bGFzdC1vZi10eXBlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjsgfVxuICAgIC5xdW90ZS1pbnRybyA+IHAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICMwMGU4NjI7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyOCUsIDE0JSk7IH1cbiAgICAucXVvdGUtaW50cm8gPiBwID4gc3BhbjpsYXN0LW9mLXR5cGUge1xuICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgLnF1b3RlLWludHJvID4gYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAucXVvdGUtaW50cm8gPiBiOmJlZm9yZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAjMDBlODYyO1xuICAgIGZvbnQtc2l6ZTogMy40Mzc1ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTUlLCAyMCUpO1xuICAgIGNvbnRlbnQ6IFwiXFwyMDFDXCI7IH1cbiAgLnF1b3RlLWludHJvID4gYjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICAgIGNvbnRlbnQ6IFwiXFwyMDFEXCI7IH1cbiAgLnF1b3RlLWludHJvID4gY2l0ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2NDY0NjQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgIC5xdW90ZS1pbnRybyA+IGNpdGU6YmVmb3JlLCAucXVvdGUtaW50cm8gPiBjaXRlOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAucXVvdGUtaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucXVvdGUtaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5xdW90ZS1pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDEuNDA2MjVlbTsgfVxuICAgIC5xdW90ZS1pbnRybyA+IGNpdGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAucXVvdGUtaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtOyB9XG4gICAgLnF1b3RlLWludHJvID4gcCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXNpemU6IDc1cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMCUsIDE0JSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAucXVvdGUtaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtOyB9XG4gICAgLnF1b3RlLWludHJvID4gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgICAucXVvdGUtaW50cm8gPiBwID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzIlLCAxOCUpOyB9XG4gICAgLnF1b3RlLWludHJvID4gY2l0ZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuXG4uZGF0ZS1ncm91cCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyZjJmO1xuICBwYWRkaW5nOiA3cHggMCAzMHB4IDA7IH1cbiAgLmRhdGUtZ3JvdXAgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmRhdGUtZ3JvdXAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfVxuICAgICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5kYXRlLWdyb3VwIHVsID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICAgICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IGE6aG92ZXIsIC5kYXRlLWdyb3VwIHVsID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IGEgPiBzbWFsbCxcbiAgICAgICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgICAgIGNvbG9yOiAjNjE2MzYzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRhdGUtZ3JvdXAgdWwgPiBsaSAuZXZlbnQtdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZGF0ZS1ncm91cCBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAuZGF0ZS1ncm91cCBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuZGF0ZS1ncm91cCB1bCA+IGxpIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAgIC5kYXRlLWdyb3VwIHVsID4gbGkgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLnJvdy1pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJvdy1pbnRybyBwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93LWludHJvIHAge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LWludHJvIHAge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5yb3ctaW50cm8gcCB7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucm93LWludHJvIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAucm93LWludHJvIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgIC5yb3ctaW50cm8ge1xuICAgICAgcGFkZGluZzogMCA0MHB4OyB9XG4gICAgICAucm93LWludHJvIHAge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtOyB9IH1cblxuLmZlYXR1cmUtcG9kcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA2MHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYmNiOyB9XG4gIC5mZWF0dXJlLXBvZHMgPiBoMiwgLmZlYXR1cmUtcG9kcyA+IGgzIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NjQ2NDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLmZlYXR1cmUtcG9kcyA+IGgyIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIExpZ2h0XCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5mZWF0dXJlLXBvZHMgPiAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmZlYXR1cmUtcG9kcyAucGFuZWwgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZlYXR1cmUtcG9kcyB7XG4gICAgbWFyZ2luOiA2MHB4IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmUtcG9kcyB7XG4gICAgbWFyZ2luOiA2MHB4IDYuMjVlbSAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZmVhdHVyZS1wb2RzIHtcbiAgICBtYXJnaW46IDkwcHggYXV0byAwOyB9IH1cblxuLmtleS1kYXRlcyAuZGF0ZS1ncm91cCB1bCBsaSB7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjsgfVxuXG4ua2V5LWRhdGVzIGEuc2V0LWljcyB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzk2OTc5NztcbiAgZmxvYXQ6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAua2V5LWRhdGVzIGEuc2V0LWljczpob3ZlciB7XG4gICAgY29sb3I6ICMwQjg2NTE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAua2V5LWRhdGVzIGEuc2V0LWljcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmtleS1kYXRlcyBhLnNldC1pY3Mge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAua2V5LWRhdGVzIC5kYXRlLWdyb3VwIGEuc2V0LWljcyB7XG4gICAgZm9udC1zaXplOiAwLjYyNWVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5rZXktZGF0ZXMgLmRhdGUtZ3JvdXAgYS5zZXQtaWNzIHtcbiAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5rZXktZGF0ZXMgLmRhdGUtZ3JvdXAgYS5zZXQtaWNzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLnN1YnNjcmliZSB7XG4gIC8qIHN1cGVyIHNwZWNpZmljIG1lZGlhIHF1ZXJ5IHRvIGFkZCBwYWRkaW5nIHRvIGNvbnRlbnQgY29sdW1uIGluIGxhbmRzY2FwZSBtb2RlICovIH1cbiAgLnN1YnNjcmliZSAuaW50cm8ge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN1YnNjcmliZSAuaW50cm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5zdWJzY3JpYmUgaW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWNiY2I7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuc3Vic2NyaWJlIGlucHV0OmhvdmVyLCAuc3Vic2NyaWJlIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5zdWJzY3JpYmUgaW5wdXRbdHlwZT0ndGV4dCddLCAuc3Vic2NyaWJlIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfVxuICAuc3Vic2NyaWJlIGlucHV0OmludmFsaWQge1xuICAgIGNvbG9yOiAjZWM2NzFjO1xuICAgIGJvcmRlci1jb2xvcjogI2VjNjcxYzsgfVxuICAuc3Vic2NyaWJlIGlucHV0OmZvY3VzOmludmFsaWQge1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIGJvcmRlci1jb2xvcjogIzYxNjM2MzsgfVxuICAuc3Vic2NyaWJlIGlucHV0Om5vdCg6Zm9jdXMpOmludmFsaWQge1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIGJvcmRlci1jb2xvcjogIzYxNjM2MzsgfVxuICAuc3Vic2NyaWJlIC5idG4tc3VibWl0IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdWJzY3JpYmUgLmJ0bi1zdWJtaXQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLnN1YnNjcmliZSAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgLyogc3VwZXIgc3BlY2lmaWMgbWVkaWEgcXVlcnkgdG8gYWRkIHBhZGRpbmcgdG8gY29udGVudCBjb2x1bW4gaW4gbGFuZHNjYXBlIG1vZGUgKi8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIHN1cCwgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIHN1YiB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gc3VwOmJlZm9yZSwgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIHN1YjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7IH1cbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gc3VwOmFmdGVyLCAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gc3ViOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiAucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiAubm90ZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIC5ub3RlcyA+IHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDdweDsgfVxuICAgIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiAubm90ZXMgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJjMmYyZjsgfVxuICAgICAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIC5ub3RlcyBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBCODY1MTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIC5sYXJnZS1jb2xsYXBzZSAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH1cbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gLnJlbGF0ZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gLnd5c2l3eWcge1xuICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG4udGltZWxpbmUtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmctdG9wLWxlZnQucG5nXCIpIGxlZnQgdG9wIG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nL2JnLWJ0bS1yaWdodC0wMS5zdmdcIikgYm90dG9tIHJpZ2h0IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jd2VzVGltZWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAjd2VzVGltZWxpbmUgLnllYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgICAjd2VzVGltZWxpbmUgLnllYXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgI3dlc1RpbWVsaW5lIC55ZWFyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIHtcbiAgICAgICAgbWFyZ2luOiAwIC0zMHB4OyB9IH1cbiAgICAjd2VzVGltZWxpbmUgLnllYXIgLm1pZGxpbmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICM0YjRjNGM7XG4gICAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICAgIHotaW5kZXg6IDA7IH1cbiAgICAjd2VzVGltZWxpbmUgLnllYXIgLnlsYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgZm9udC1zaXplOiAxLjQzNzVlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMHB4O1xuICAgICAgYmFja2dyb3VuZDogIzE0ZGM2NjtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODAlO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDYwcHgpO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLnlsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC55bGFiZWwuZml4ZWQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgei1pbmRleDogNTsgfVxuICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IHtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4OyB9IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAgICAgICAtbW96LW9wYWNpdHk6IDA7XG4gICAgICAgICAgLWtodG1sLW9wYWNpdHk6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIgLmltYWdlOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIgLmltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIgLmltYWdlLnZpZGVvIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2UudmlkZW86YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIgLmltYWdlLnZpZGVvOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIgLmltYWdlLnZpZGVvOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tcGxheS5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiA0M3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuY29weSB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAxNXB4IDMwcHggMTVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuY29weSAudGFnLCAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuY29weSAuZGF0ZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1ZW07XG4gICAgICAgICAgICBjb2xvcjogIzk2OTc5NzsgfVxuICAgICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5jb3B5IC5kYXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7IH1cbiAgICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuY29weSBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTBweCAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIubm8taW1hZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24taGlzdG9yeS1iZy5wbmdcIikgbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbTsgfVxuICAgICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyLm5vLWltYWdlIC5jb3B5IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIubm8taW1hZ2UgLmNvcHkgaDIge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogNjBweCAwOyB9XG4gICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheTpob3ZlciAud3JhcHBlcjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTMzKVwiO1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzMpO1xuICAgICAgICAtbW96LW9wYWNpdHk6IC4zMztcbiAgICAgICAgLWtodG1sLW9wYWNpdHk6IC4zMztcbiAgICAgICAgb3BhY2l0eTogLjMzO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5OmhvdmVyIC53cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvaWNvbnMvaWNvbi1oaXN0b3J5LWFycm93LnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgICB6LWluZGV4OiA0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5LmNlbnRlci1sZWZ0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkuY2VudGVyLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNTAlOyB9IH1cbiAgICAjd2VzVGltZWxpbmUgLnllYXI6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgICN3ZXNUaW1lbGluZSAueWVhcjpsYXN0LW9mLXR5cGUgLm1pZGxpbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyLnNob3ctYWxsIC5kYXkuY2VudGVyLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyLnNob3ctYWxsIC5kYXkuY2VudGVyLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4udGltZWxpbmUtZmlsdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gICAgLnRpbWVsaW5lLWZpbHRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgICAudGltZWxpbmUtZmlsdGVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG4gIC50aW1lbGluZS1maWx0ZXIgc3BhbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRpbWVsaW5lLWZpbHRlciBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4OyB9IH1cbiAgLnRpbWVsaW5lLWZpbHRlciBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAwIDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjNTY1NzU3OyB9XG4gICAgLnRpbWVsaW5lLWZpbHRlciBhLmFjdGl2ZSwgLnRpbWVsaW5lLWZpbHRlciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMGU5NjM7XG4gICAgICBjb2xvcjogIzMzMzIzMTsgfVxuXG4ubWJsLXRpbWVsaW5lLWZpbHRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweCAwO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODBweCkge1xuICAgIC5tYmwtdGltZWxpbmUtZmlsdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgICAubWJsLXRpbWVsaW5lLWZpbHRlciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1ibC10aW1lbGluZS1maWx0ZXIgc3BhbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICAubWJsLXRpbWVsaW5lLWZpbHRlciBzZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDhweCAzMHB4IDEwcHggMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGNvbG9yOiAjMWQxZDFkO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKlJlbW92ZXMgZGVmYXVsdCBjaHJvbWUgYW5kIHNhZmFyaSBzdHlsZSovXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIFJlbW92ZXMgRGVmYXVsdCBGaXJlZm94IHN0eWxlKi9cbiAgICBiYWNrZ3JvdW5kOiAjMDBlOTYzIHVybCguLi9pbWcvaWNvbnMvaWNvbi1kZC1hcnJvdy5wbmcpIG5vLXJlcGVhdDtcbiAgICAvKkFkZHMgYmFja2dyb3VuZC1pbWFnZSovXG4gICAgYmFja2dyb3VuZC1zaXplOiAxM3B4IDhweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNnB4IHRvcCAxNnB4O1xuICAgIC8qUG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UqL1xuICAgIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gICAgLyogUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXG4gICAgdGV4dC1vdmVyZmxvdzogXCJcIjtcbiAgICAvKlJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5tYmwtdGltZWxpbmUtZmlsdGVyIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfSB9XG4gICAgLm1ibC10aW1lbGluZS1maWx0ZXIgc2VsZWN0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1ibC10aW1lbGluZS1maWx0ZXIgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAvKmllMTEgZ2V0IHJpZCBvZiBkZWZhdWx0IGRkIGFycm93Ki9cbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50aW1lbGluZS1pbnRybyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50aW1lbGluZS1pbnRybyB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG4gIC50aW1lbGluZS1pbnRybyBwIHtcbiAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRpbWVsaW5lLWludHJvIHAge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtOyB9IH1cblxuLm1lZGlhLWdhbGxlcnkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHdpZHRoOiA5MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZWRpYS1nYWxsZXJ5IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdhbGxlcnktd3JhcHBlciB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjOTY5Nzk3O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5nYWxsZXJ5LXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDI0cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdhbGxlcnktd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTQ1MHB4OyB9IH1cbiAgLmdhbGxlcnktd3JhcHBlciBoMiwgLmdhbGxlcnktd3JhcHBlciBoMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmdhbGxlcnktd3JhcHBlciBoMiwgLmdhbGxlcnktd3JhcHBlciBoMyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG4gIC5nYWxsZXJ5LXdyYXBwZXIgaDIgKyBoMyB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgaDIgKyBoMyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cbiAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCB7XG4gICAgbWFyZ2luOiAwIC01cHggMjBweCAtNXB4OyB9XG4gICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDYwcHggMDsgfSB9XG4gICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaTpudGgtY2hpbGQoNW4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDVweCAwIDVweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGEge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDE1cHggMCAxNXB4OyB9IH1cbiAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGEgLmltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhIC5pbWFnZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSAuaW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSAuaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICAgICAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAgICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgICAgICAgICAgLW1vei1vcGFjaXR5OiAwO1xuICAgICAgICAgICAgLWtodG1sLW9wYWNpdHk6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhIC5pbWFnZS52aWRlbzphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMjhweCk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI4cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tdmlkLXBsYXkucG5nXCIpIG5vLXJlcGVhdCAwIDA7IH1cbiAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGEgLnRhZyB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwIDA7IH1cbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkub2ctZXhwYW5kZWQgPiBhOmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzJjMmYyZjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMnB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogLTEycHggMCAwIC0xMnB4OyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpOmhvdmVyID4gYSAuaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0zMylcIjtcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMzKTtcbiAgICAgICAgLW1vei1vcGFjaXR5OiAuMzM7XG4gICAgICAgIC1raHRtbC1vcGFjaXR5OiAuMzM7XG4gICAgICAgIG9wYWNpdHk6IC4zMztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpOmhvdmVyID4gYSAuaW1hZ2UgPiBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuLm9nLWV4cGFuZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9nLWV4cGFuZGVyLWlubmVyIHtcbiAgcGFkZGluZzogNTBweCAyMHB4IDIwcHggMjBweDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub2ctZXhwYW5kZXItaW5uZXIge1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4OyB9IH1cblxuLm9nLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm9nLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAub2ctY2xvc2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vZy1jbG9zZSB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgLm9nLWNsb3NlOmJlZm9yZSwgLm9nLWNsb3NlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzg4ODtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5vZy1jbG9zZTphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5vZy1jbG9zZTpob3ZlcjpiZWZvcmUsIC5vZy1jbG9zZTpob3ZlcjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vZy1mdWxsaW1nLFxuICAub2ctZGV0YWlscyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4ub2ctZGV0YWlscyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vZy1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub2ctZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiAwIDgwcHg7IH0gfVxuXG4ub2ctZnVsbGltZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5vZy1mdWxsaW1nIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub2ctZnVsbGltZyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLm9nLWRldGFpbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5vZy1kZXRhaWxzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5vZy1kZXRhaWxzIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjY2NjY3ZW07XG4gIGZvbnQtZmFtaWx5OiBIZXVyaXN0aWNhO1xuICBwYWRkaW5nOiAyMHB4IDAgMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vZy1kZXRhaWxzIGgzIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCAxMHB4OyB9IH1cblxuLm9nLWRldGFpbHMgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LWZhbWlseTogSGV1cmlzdGljYTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLm9nLWRldGFpbHMgcC5kZXNjcmlwdGlvbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5Njk3OTc7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub2ctZGV0YWlscyBwLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuICAub2ctZGV0YWlscyBwLmZpbGVuYW1lIHtcbiAgICBjb2xvcjogIzk2OTc5NztcbiAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC43Nzc3OGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjc3Nzc4ZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9nLWRldGFpbHMgcC5maWxlbmFtZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWF4LXdpZHRoOiA0OSU7IH0gfVxuXG4ub2ctZGV0YWlscyBhLmZpbGVzaXplIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC43Nzc3OGVtO1xuICBsaW5lLWhlaWdodDogMC43Nzc3OGVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub2ctZGV0YWlscyBhLmZpbGVzaXplIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1heC13aWR0aDogNDklOyB9IH1cbiAgLm9nLWRldGFpbHMgYS5maWxlc2l6ZTpob3ZlciwgLm9nLWRldGFpbHMgYS5maWxlc2l6ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwQjg2NTE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5vZy1sb2FkaW5nIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xuICBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2NjYywgLTE1cHggMzBweCAxcHggI2NjYztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkZXIgMC41cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xuICAtbW96LWFuaW1hdGlvbjogbG9hZGVyIDAuNXMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMC41cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub2ctbG9hZGluZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbjogLTI1cHggMCAwIC0yNXB4OyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRlciB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGRkOyB9XG4gIDMzJSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2NjYywgLTE1cHggMzBweCAxcHggI2RkZDsgfVxuICA2NiUge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNkZGQsIC0xNXB4IDMwcHggMXB4ICNjY2M7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQ6ICNkZGQ7IH1cbiAgMzMlIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjZGRkOyB9XG4gIDY2JSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2RkZCwgLTE1cHggMzBweCAxcHggI2NjYzsgfSB9XG5cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQ6ICNkZGQ7IH1cbiAgMzMlIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjZGRkOyB9XG4gIDY2JSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2RkZCwgLTE1cHggMzBweCAxcHggI2NjYzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5vZy1kZXRhaWxzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5nYWxsZXJ5LWZpbHRlciB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDIwcHggYXV0byAzMHB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdhbGxlcnktZmlsdGVyIHtcbiAgICAgIHdpZHRoOiAzNTBweDsgfSB9XG4gIC5nYWxsZXJ5LWZpbHRlciAudHJpZ2dlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIGJhY2tncm91bmQ6ICMxNGRjNjY7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZ2FsbGVyeS1maWx0ZXIgLnRyaWdnZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmdhbGxlcnktZmlsdGVyIC50cmlnZ2VyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmdhbGxlcnktZmlsdGVyIC50cmlnZ2VyOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjJweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pY29ucy9pY29uLWRkLWFycm93LXdoaXRlLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDsgfVxuICAgIC5nYWxsZXJ5LWZpbHRlciAudHJpZ2dlci5hY3RpdmU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA2O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC41cztcbiAgICAtbXMtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7XG4gICAgLW8tdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMgbGkge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICM5Njk3OTc7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBjb2xvcjogIzk2OTc5NzsgfVxuICAgICAgLmdhbGxlcnktZmlsdGVyIC5vcHRpb25zIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgLTIwcHg7IH1cbiAgICAgICAgLmdhbGxlcnktZmlsdGVyIC5vcHRpb25zIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7IH1cbiAgICAgIC5nYWxsZXJ5LWZpbHRlciAub3B0aW9ucyBsaSB1bCBsaSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCAtMjBweDsgfVxuICAgICAgICAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMgbGkgdWwgbGkgYSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgNDBweDsgfVxuICAgIC5nYWxsZXJ5LWZpbHRlciAub3B0aW9ucy5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5Njk3OTc7XG4gICAgICBtYXgtaGVpZ2h0OiA2MDBweDsgfVxuXG5hcnRpY2xlIC5zcGxpdC1saXN0IHtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIGFydGljbGUgLnNwbGl0LWxpc3Qge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAgIGFydGljbGUgLnNwbGl0LWxpc3Q6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICBhcnRpY2xlIC5zcGxpdC1saXN0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgYXJ0aWNsZSAuc3BsaXQtbGlzdDpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzJjMmYyZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgYXJ0aWNsZSAuc3BsaXQtbGlzdCAubGlzdC1jb3B5IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAwIDA7IH0gfVxuICBhcnRpY2xlIC5zcGxpdC1saXN0IC5saXN0LWNvcHkgc3BhbiB7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYSBCb2xkXCI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgYXJ0aWNsZSAuc3BsaXQtbGlzdCAubGlzdC1jb3B5IHNwYW4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9IH1cbiAgYXJ0aWNsZSAuc3BsaXQtbGlzdCAubGlzdC1jb3B5IGg0IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBhcnRpY2xlIC5zcGxpdC1saXN0IC5saXN0LWNvcHkgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuICBhcnRpY2xlIC5zcGxpdC1saXN0ID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBhcnRpY2xlIC5zcGxpdC1saXN0ID4gdWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5hY2NvcmRpb24gLnNwbGl0LWxpc3Q6Zmlyc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLnNmSGlnaGxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIHBhZGRpbmc6IDJweDsgfVxuXG4uc2YtbWVkaWEge1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfVxuXG4uc2YtbWVkaWEtYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2YtbWVkaWEtYm9keSBwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG5cbi5zZWFyY2gtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzNXB4OyB9XG4gIC5zZWFyY2gtaGVhZGVyIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAuc2VhcmNoLWhlYWRlciBlbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMUNcIjsgfVxuICAgIC5zZWFyY2gtaGVhZGVyIGVtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDFEXCI7IH1cblxuLnNlYXJjaC1mb290ZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZWFyY2gtZm9vdGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2VhcmNoLWZvb3RlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgICBjb2xvcjogI2VhZWFlYTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAucGFnaW5hdGlvbiAuY3VycmVudDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEI4NjUxO1xuICAgICAgY29sb3I6ICNlYWVhZWE7IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICNlYWVhZWE7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG51bC5wYWdpbmF0aW9uIGxpIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gIHVsLnBhZ2luYXRpb24gbGk6aG92ZXIge1xuICAgIGNvbG9yOiAjZWFlYWVhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjNhNDU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2Ytc29jaWFsLXNoYXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41NjI1ZW07IH0gfVxuXG4uc2Ytc29jaWFsLXNoYXJlIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDhweDtcbiAgcGFkZGluZzogNXB4OyB9XG4gIC5zZi1zb2NpYWwtc2hhcmUgbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuc2Ytc29jaWFsLXNoYXJlIGxpOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNmLXNvY2lhbC1zaGFyZSAjX19fcGx1c29uZV8wIHtcbiAgbWF4LXdpZHRoOiA1NXB4O1xuICB3aWR0aDogNTVweDsgfVxuXG4jYnR0IHtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhNDU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAzMHB4O1xuICByaWdodDogMHB4O1xuICB6LWluZGV4OiA5OTk5O1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gIGZvbnQtc2l6ZTogMC42ZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA3cHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2J0dCBzcGFuIHtcbiAgICBwYWRkaW5nOiA1cHggMCAzcHggMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjYnR0IHNwYW46YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMjA7XG4gICAgICBjb2xvcjogI2NhY2JjYjsgfVxuXG4uc3VzdGFpbmFiaWxpdHktbGlua3MgaDIge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uY29sdW1ucy5zdXN0YWluYWJpbGl0eS1wZXJmb3JtYW5jZSB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggIzAwZTg2MjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgcGFkZGluZzogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1tb3otZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtby1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnNoYXJlLXByb21vLFxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAuZGVidC1pbnZlc3RvcnMsXG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5uZXdzLWxpc3Qge1xuICAgICAgLXdlYmtpdC1mbGV4OiAxIDEwMCU7XG4gICAgICAtbW96LWZsZXg6IDEgMTAwJTtcbiAgICAgIC1tcy1mbGV4OiAxIDEwMCU7XG4gICAgICAtby1mbGV4OiAxIDEwMCU7XG4gICAgICBmbGV4OiAxIDEwMCU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnRpbGUtbGlua3Mge1xuICAgICAgLXdlYmtpdC1mbGV4OiAxIDUwJTtcbiAgICAgIC1tb3otZmxleDogMSA1MCU7XG4gICAgICAtbXMtZmxleDogMSA1MCU7XG4gICAgICAtby1mbGV4OiAxIDUwJTtcbiAgICAgIGZsZXg6IDEgNTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7XG4gICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgLW8tZmxleC1mbG93OiByb3c7XG4gICAgZmxleC1mbG93OiByb3c7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnNoYXJlLXByb21vIHtcbiAgICAgIC13ZWJraXQtZmxleDogMSAyMCU7XG4gICAgICAtbW96LWZsZXg6IDEgMjAlO1xuICAgICAgLW1zLWZsZXg6IDEgMjAlO1xuICAgICAgLW8tZmxleDogMSAyMCU7XG4gICAgICBmbGV4OiAxIDIwJTtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC50aWxlLWxpbmtzIHtcbiAgICAgIC13ZWJraXQtZmxleDogMCAzOCU7XG4gICAgICAtbW96LWZsZXg6IDAgMzglO1xuICAgICAgLW1zLWZsZXg6IDAgMzglO1xuICAgICAgLW8tZmxleDogMCAzOCU7XG4gICAgICBmbGV4OiAwIDM4JTtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5kZWJ0LWludmVzdG9ycyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1NXB4O1xuICAgICAgd2lkdGg6IDE4JTtcbiAgICAgIG1heC13aWR0aDogMjQ2cHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLm5ld3MtbGlzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDI4NnB4O1xuICAgICAgbGVmdDogNTVweDtcbiAgICAgIHdpZHRoOiAxOCU7XG4gICAgICBtYXgtd2lkdGg6IDI0NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1NXB4IDU1cHggMCA1NXB4OyB9IH1cblxuI2ludmVzdG9yLWNlbnRyZSAjbWFpbiAuaW52ZXN0b3ItY2VudHJlIC5yb3csXG4jaW52ZXN0b3ItY2VudHJlICNtYWluIC5pbnZlc3RvcnMgLnJvdyB7XG4gIG1heC13aWR0aDogMTAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAjaW52ZXN0b3ItY2VudHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjaW52ZXN0b3ItY2VudHJlICNtYWluIC5pbnZlc3RvcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgI2ludmVzdG9yLWNlbnRyZSAjbWFpbiAuaW52ZXN0b3JzIC5wYWdlLWludHJvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgIzAwZTg2MjsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNDIwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gPiBhOmhvdmVyLCAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyA+IGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vID4gYTpob3ZlciAuc3RvY2stcHJpY2UgPiBzcGFuLCAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyA+IGE6Zm9jdXMgLnN0b2NrLXByaWNlID4gc3BhbiB7XG4gICAgICBjb2xvcjogIzAwZTg2MjsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1wcmljZSA+IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXggPiBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogIzJjMmYyZiAhaW1wb3J0YW50OyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4ID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCA+IGkge1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgICAgY29sb3I6ICMyYzJmMmYgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3Qge1xuICAgICAgcGFkZGluZzogMTBweCAwIDVweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDBlODYyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMGU4NjI7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzY0NjQ2NDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1pbi13aWR0aDogODVweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xuICAgICAgICBmb250LXNpemU6IDAuNzgxMjVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW86YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIGgyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAxMDAlO1xuICAgICAgICAtbW96LWZsZXg6IDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMTAwJTtcbiAgICAgICAgLW8tZmxleDogMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogLXdlYmtpdC10cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7XG4gICAgICAgIC1tb3otZmxleC1mbG93OiByb3c7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgLW8tZmxleC1mbG93OiByb3c7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzAwZTg2MjtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stcHJpY2Uge1xuICAgICAgICAgIC13ZWJraXQtZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgLW1vei1mbGV4OiAxIDMzLjMzMzMzJTtcbiAgICAgICAgICAtbXMtZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgLW8tZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgZmxleDogMSAzMy4zMzMzMyU7IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXByaWNlID4gc3BhbiB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIge1xuICAgICAgICAgIC13ZWJraXQtZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgLW1vei1mbGV4OiAwIDY2LjY2NjY2JTtcbiAgICAgICAgICAtbXMtZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgLW8tZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAtbW96LWZsZXgtZmxvdzogcm93O1xuICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXgge1xuICAgICAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDM1JTtcbiAgICAgICAgICAgIC1tb3otZmxleDogMCAzNSU7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAzNSU7XG4gICAgICAgICAgICAtby1mbGV4OiAwIDM1JTtcbiAgICAgICAgICAgIGZsZXg6IDAgMzUlOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDBlODYyOyB9XG4gICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBpIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBzcGFuLFxuICAgICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLXVwZGF0ZWQtbGlzdCB7XG4gICAgICAgICAgICAtd2Via2l0LWZsZXg6IDY1JTtcbiAgICAgICAgICAgIC1tb3otZmxleDogNjUlO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDY1JTtcbiAgICAgICAgICAgIC1vLWZsZXg6IDY1JTtcbiAgICAgICAgICAgIGZsZXg6IDY1JTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwZTg2MjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cbiAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSB7XG4gICAgICAgIG1heC13aWR0aDogMjQ2cHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1wcmljZSA+IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy40Mzc1ZW07IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCA+IGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTsgfVxuICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzVweDsgfSB9XG5cbi5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogYWRkIG92ZXJyaWRlIHRvIHByZXZlbnQgbWFyZ2luIGJ1ZmZlciAqLyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIHAsXG4gIC5hbm5vdW5jZW1lbnQtYmFyIGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggMjBweCA0cHg7IH1cbiAgLmFubm91bmNlbWVudC1iYXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLypcclxuICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIC4zcztcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBcdGNvbG9yOiNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICovIH1cbiAgICAuYW5ub3VuY2VtZW50LWJhciBhOmhvdmVyLCAuYW5ub3VuY2VtZW50LWJhciBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIC53eXNpd3lnID4gLnd5c2l3eWctaW5uZXI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgIzAwZTg2MjtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICMwMGU4NjI7XG4gICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgIzAwZTg2MjsgfVxuICAgICAgLmFubm91bmNlbWVudC1iYXIgcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXNpemU6IDAuOTY4NzVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjsgfVxuICAgICAgICAuYW5ub3VuY2VtZW50LWJhciBwOmFmdGVyLCAuYW5ub3VuY2VtZW50LWJhciBwOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5hbm5vdW5jZW1lbnQtYmFyIHA6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNzJweCA1NHB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwZTg2MiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuYW5ub3VuY2VtZW50LWJhciBwOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgcmlnaHQ6IC01MnB4O1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNzJweCA1NHB4IDAgMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMwMGU4NjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5hbm5vdW5jZW1lbnQtYmFyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFCa0NBWUFBQUJ3NHBWVUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURZM0lEYzVMakUxTnpjME55d2dNakF4TlM4d015OHpNQzB5TXpvME1EbzBNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0k1TlVNNE56Y3pNREpDUlRFeFJUWTVSVFUxUkRnM1F6SXdOa1k1UVRreUlpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSTVOVU00TnpjME1ESkNSVEV4UlRZNVJUVTFSRGczUXpJd05rWTVRVGt5SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFqazFRemczTnpFd01rSkZNVEZGTmpsRk5UVkVPRGRETWpBMlJqbEJPVElpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UWprMVF6ZzNOekl3TWtKRk1URkZOamxGTlRWRU9EZERNakEyUmpsQk9USWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejVCclQ0bUFBQUIrRWxFUVZSNDJ1emIzVTNEQUF4Rlllb0ZtS2ZkQUFhbUd6QVBzRUJJSG5oQktrMURmbzd0WThrUGVZdjBTWkVpMzNzYWh1R3A4WnpIdlk3N0RIaVhyM0ZmUWd3T3hyanZJUVlIWTNvSU1UZ1lIVUhRR04xQThCaWRRRkpnZEFGSmc5RUJKQlZHZFpCMEdKVkJTQmlmY3pHcWd0QXdYdWRpVkFSSmpWRU5KRDFHSlpBU0dGVkF5bUJVQUNtRmtSMmtIRVpta0pJWVdVSEtZbVFFS1kyUkRhUThSaWFRRmhoWlFOcGdaQUJwaFVFSGFZZEJCbW1KUVFWcGkwRUVhWTFCQTJtUFFRSVJBd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUFnWWdCQXJtSXdRR1pNTjdFWUlDSUFRSVJBd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUF6V2tZaGc4eE1IT2VRQVl4R0JqalhrTU1Ec2IwcFFveE9CaC8vYW1MY1FER2tTQmkzTWl4aFJnY2pDTkF4TGlUOEF3eE9CaDdnb2d4TS9zY1luQXc5Z0FSNDhGV1FJakJ3ZGdTUkl5RkZZMFFZek9NUlNlTkVJT0RzVGFJR0NzYyswSU1Ec1phSUdLc2VBWVBNVGdZL3dVUlk0T0FTSWpCd1ZnS0lzYUcwYWtRZzRQeEtJZ1lPNFFLUXd3T3hsd1FNWGFNMjRZWUhJeDdJR0ljRUVRUE1UZ1l0MERFT0xDaUVXSndNSDZEaUFFb0w0VVlISXdmRURGQXRiNnBRWFVSZzlPeC9CWmdBT1VYT1J4R3k0YWFBQUFBQUVsRlRrU3VRbUNDXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgbGVmdDogLTEwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxNWRlZyk7IH0gfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgaDIge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSxcbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdCB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgaDIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGgyIHtcbiAgICBtaW4taGVpZ2h0OiAzNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsIHtcbiAgICBtYXJnaW46IDAgLTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1tb3otZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtby1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkge1xuICAgICAgLXdlYmtpdC1mbGV4OiAwIDUwJTtcbiAgICAgIC1tb3otZmxleDogMCA1MCU7XG4gICAgICAtbXMtZmxleDogMCA1MCU7XG4gICAgICAtby1mbGV4OiAwIDUwJTtcbiAgICAgIGZsZXg6IDAgNTAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gs1wiO1xuICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6ICMwMGU4NjI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICBib3R0b206IDdweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjRzOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSA+IHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YWZ0ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvdGlsZS10cmlhbmdsZS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICAtbXMtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEyMHB4O1xuICAgICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTIwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAuOHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjNzOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IC4yOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXI6YWZ0ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1czphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzZDU2MzsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGE6YmVmb3JlLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogLjA1O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xODc1ZW07IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmJlZm9yZSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTQwcHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmJlZm9yZSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzID4gYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQ6YmVmb3JlLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2JjYjtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQ6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0zMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdDphZnRlciB7XG4gICAgICByaWdodDogLTEwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMnB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MucnQgaDIge1xuICAgIG1hcmdpbi1sZWZ0OiAzOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjM3NWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGFydGljbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMGU4NjI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBlODYyO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIGgyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zczsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIGgyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIGgyOmhvdmVyLCAuaW52ZXN0b3ItY2VudHJlIC5zdXN0YWluYWJpbGl0eS1saW5rcyBoMjpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAwY2Y1NzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3MgaDI6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zdXN0YWluYWJpbGl0eS1saW5rcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgaDIge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMyYzJmMmY7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC5kYXRlLXRpbWUge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNjQ2NDY0O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCBoMiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCA+IC53cmFwcGVyIC5pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIgLml0ZW0gLmRhdGUtdGltZSB7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCA+IC53cmFwcGVyIC5pdGVtIHA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAgIC1tb3otZmxleC1mbG93OiByb3c7XG4gICAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgbWFyZ2luOiAwIC0xLjI1cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1heC13aWR0aDogMTAwZW07IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciA+IC5pdGVtIHtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICAtbW96LWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICAtby1mbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICBmbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgLndyYXBwZXIgPiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciA+IC5pdGVtIHA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH0gfVxuXG4uZmVhdHVyZWQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgLmZlYXR1cmVkID4gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5mZWF0dXJlZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5mZWF0dXJlZCA+IGgyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gIC5mZWF0dXJlZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmVhdHVyZWQgLnJvdyAuY29sdW1uLCAuZmVhdHVyZWQgLnJvdyAuY29sdW1ucyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIHAge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5zaGFyZS1wcm9tbyB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC50aWxlLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAzOCU7IH1cbiAgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbiwgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4uc2ZQYWdlRWRpdG9yIC5yZFRhYmxlIHRib2R5LCAuc2ZQYWdlRWRpdG9yIC5yZFRhYmxlIHRoZWFkLCAuc2ZQYWdlRWRpdG9yIC5yZFRhYmxlIHRmb290IHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uc2ZQYWdlRWRpdG9yIC5SYWREb2NrIC5yZENlbnRlciAucmRDb21tYW5kcyBsaSBhOmJlZm9yZSwgLnNmUGFnZUVkaXRvciAuUmFkRG9jayAucmRDZW50ZXIgLnJkQ29tbWFuZHMgbGkgYTphZnRlciwgLnNmUGFnZUVkaXRvciAuUmFkRG9jayAucmRDZW50ZXIgLnJkQ29tbWFuZHMgbGk6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZlBhZ2VFZGl0b3IgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bC5yZENvbW1hbmRzID4gbGkgPiBhIHtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZlBhZ2VFZGl0b3IgLnJlbGF0ZWQtY29udGVudCB7XG4gIG1heC13aWR0aDogMjcwcHggIWltcG9ydGFudDsgfVxuICAuc2ZQYWdlRWRpdG9yIC5yZWxhdGVkLWNvbnRlbnQgdWw6YWZ0ZXIsXG4gIC5zZlBhZ2VFZGl0b3IgLnJlbGF0ZWQtY29udGVudCB1bDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNmUGFnZUVkaXRvciAuc2ZQYWdlV3JhcHBlciBoZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNmUGFnZUVkaXRvciAuc2ZQYWdlV3JhcHBlciAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWw6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZlBhZ2VFZGl0b3IgLnNmUGFnZVdyYXBwZXIgLnNmX2NvbHNJbi5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLnNmUGFnZUVkaXRvciAuc2ZQYWdlV3JhcHBlciAuc2ZfY29sc0luLmFubm91bmNlbWVudC1iYXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZlBhZ2VFZGl0b3IgLnNmUGFnZVdyYXBwZXIgLnNmX2NvbHNJbi5jb2x1bW4sIC5zZlBhZ2VFZGl0b3IgLnNmUGFnZVdyYXBwZXIgLnNmX2NvbHNJbi5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNmUGFnZUVkaXRvciBmb290ZXIge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5SYWRXaW5kb3cge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICAuUmFkV2luZG93ID4gdGFibGUucndUYWJsZSB7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuNFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCJAaW1wb3J0IHVybChcIi8vZmFzdC5mb250cy5uZXQvdC8xLmNzcz9hcGlUeXBlPWNzcyZwcm9qZWN0aWQ9MTAxMmJlZGItMzFmOC00NWZiLWI0NTYtOTIwZGE4YTFkZTI5XCIpO1xyXG5AZm9udC1mYWNle1xyXG5mb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG5zcmM6dXJsKFwiLi4vZm9udHMvZDRlYjNmM2QtNGQ0MC00MmNjLTgwZWItMDA1YWFhY2QyZDAxLmVvdD8jaWVmaXhcIik7XHJcbnNyYzp1cmwoXCIuLi9mb250cy9kNGViM2YzZC00ZDQwLTQyY2MtODBlYi0wMDVhYWFjZDJkMDEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvZGYzMjYwYTgtNDI0OS00ODc2LWIyZWEtOWQzMGNhOGE1ZDg0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzL2Y5OTk3MzcxLWYyYjAtNGVmZC05YWZhLWFlZGM1MjNiZGE4My53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvNDg0YzAzZGItNmRhNC00MTNmLTg1ZTctYmZjZWQ2Mjc3NDc2LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi9mb250cy9lMWY5YjhkNS0yOTkwLTQ5MWItOTQ2MS02NDEwYTE5N2VlYjYuc3ZnI2UxZjliOGQ1LTI5OTAtNDkxYi05NDYxLTY0MTBhMTk3ZWViNlwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbn1cclxuQGZvbnQtZmFjZXtcclxuZm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5zcmM6dXJsKFwiLi4vZm9udHMvZTI1ZTZmNDYtOTljOS00NmI3LTk3ODAtMzFmNWUzN2VkMjBmLmVvdD8jaWVmaXhcIik7XHJcbnNyYzp1cmwoXCIuLi9mb250cy9lMjVlNmY0Ni05OWM5LTQ2YjctOTc4MC0zMWY1ZTM3ZWQyMGYuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvOTRkM2ZjYzAtMmE5Ni00NzcxLTkxYjctYTM5ZjRkZGQ0OTE3LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzL2IyM2RmYzg3LWJiZTQtNDdmYS1hMGI5LTQ1NDc5NmY4Zjc1YS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvMjUzM2NiNDMtYzI2Ny00NmM1LWEyM2ItM2YzYmU1ZWIwYjUwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi9mb250cy9mMmJmNDg5Zi1kNThiLTQ2MjUtOTgwZi04NzU3YjYzZWQ4M2Euc3ZnI2YyYmY0ODlmLWQ1OGItNDYyNS05ODBmLTg3NTdiNjNlZDgzYVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbn1cclxuQGZvbnQtZmFjZXtcclxuZm9udC1mYW1pbHk6XCJTdG9semwgVzAwIEJvbGRcIjtcclxuc3JjOnVybChcIi4uL2ZvbnRzLzliMGRiY2MzLTNmZGYtNDMyMS1hZGUzLTdiZTNhNTg4ZWIwZi5lb3Q/I2llZml4XCIpO1xyXG5zcmM6dXJsKFwiLi4vZm9udHMvOWIwZGJjYzMtM2ZkZi00MzIxLWFkZTMtN2JlM2E1ODhlYjBmLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLHVybChcIi4uL2ZvbnRzL2RmYTUxNzBhLTc3MjgtNDlkYS05NTBhLWI0ZWFiNTAyOWFjNy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSx1cmwoXCIuLi9mb250cy85NzZkZTcxYy1iNWQwLTQ0ZDctODlmMS00NzQ5YmQxYWM0MzIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzL2JlOWUyOWE2LTJkM2UtNDE2OC04ZTFmLWQ4NDBkMmY1N2M5My50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksdXJsKFwiLi4vZm9udHMvM2UxNDU5NzUtMmJmOC00YTk5LWEzNDEtZmE4OTc0MmFmNjMxLnN2ZyMzZTE0NTk3NS0yYmY4LTRhOTktYTM0MS1mYTg5NzQyYWY2MzFcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZFwiO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQuZW90PyNpZWZpeFwiKTtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSx1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIik7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvc2xpY2suZW90XCIpO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3RcIikgZm9ybWF0KFwiZW90XCIpLHVybChcIi4uL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksdXJsKFwiLi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJBdmVuaXJcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyL0F2ZW5pckxUUHJvUm9tYW4ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBCb2xkXCI7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2F2ZW5pci9BdmVuaXJMVFByb0hlYXZ5LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTGlnaHRcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyL0F2ZW5pckxUUHJvTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG59XHJcblxyXG4kZm9udC1wYXRoOiAnLi4vZm9udHMvaGV1cmlzdGljYS8nO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ0hldXJpc3RpY2EnLCAgICAgICAgICAgICAgXCIjeyRmb250LXBhdGh9XCIsICAgICdoZXVyaXN0aWNhLXJlZ3VsYXItd2ViZm9udCcsICAgICAnbm9ybWFsJyk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnSGV1cmlzdGljYSBCb2xkJywgICAgICAgICBcIiN7JGZvbnQtcGF0aH1cIiwgICAgJ2hldXJpc3RpY2EtYm9sZC13ZWJmb250JywgICAgICAgICdub3JtYWwnKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdIZXVyaXN0aWNhIEl0YWxpYycsICAgICAgIFwiI3skZm9udC1wYXRofVwiLCAgICAnaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udCcsICAgICAgJ25vcm1hbCcpO1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgnSGV1cmlzdGljYSBCb2xkIEl0YWxpYycsICBcIiN7JGZvbnQtcGF0aH1cIiwgICAgJ2hldXJpc3RpY2EtYm9sZGl0YWxpYy13ZWJmb250JywgICdub3JtYWwnKTtcclxuLy8gQWxsIG1haW4gaWNvbnMgZm9yIFdlc2Zhcm1lcnMgaW5jbHVkaW5nIFdlc2Zhcm1lcnMgTG9nb1xyXG4kZm9udC1wYXRoOiAnLi4vZm9udHMvd2VzZmFybWVycy1pY29ucy8nOyBcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdXZXNmYXJtZXJzSWNvbnMnLCAgXCIjeyRmb250LXBhdGh9XCIsICAgICd3ZXNmYXJtZXJzLWljb25zJywgICdub3JtYWwnKTtcclxuXHJcbi8vIE1pc3NpbmcgbGlnaHQgZm9udCAodGhpcyB3aWxsIG5lZWQgdG8gYmUgcGFydCBvZiBzdWJzY3JpcHRpb24pXHJcbiRmb250LXBhdGg6ICcuLi9mb250cy9zdG9semwvJztcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdTdG9semwgVzAwIExpZ2h0JywgIFwiI3skZm9udC1wYXRofVwiLCAgICAnc3RvbHpsLWxpZ2h0LXdlYmZvbnQnLCAgJ25vcm1hbCcpO1xyXG5cclxuLypcclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBMaWdodFwiO1xyXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU3RvbHpsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvdGZcIik7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSGV1cmlzdGljYS1SZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvdGZcIik7XHJcbn1cclxuQGZvbnQtZmFjZSB7IFxyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xyXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSGV1cmlzdGljYS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvdGZcIik7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYSBJdGFsaWNcIjtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvSGV1cmlzdGljYS1JdGFsaWMub3RmJykgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbiovXHJcblxyXG5odG1sIHtcclxuXHRmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuXHQvL2ZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xyXG59XHJcbmgxe1xyXG4gIGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICBmb250LXNpemU6IGVtKDIwKTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDM4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxufVxyXG5oMntcclxuICBmb250LXNpemU6IGVtKDIyKTtcclxuICBsaW5lLWhlaWdodDogZW0oMjYsIDIyKTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDMwKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG59XHJcbmgze1xyXG4gIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xyXG4gIH1cclxufVxyXG5oNHtcclxuICBmb250LXNpemU6IGVtKDE4KTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDIwKTtcclxuICB9XHJcbn1cclxuaDV7XHJcbiAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICB9XHJcbn1cclxucCB7XHJcbiAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgbGluZS1oZWlnaHQ6IGVtKDI1LCAxNyk7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDI2LCAxOCk7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gIH1cclxuICAvL3Jlc2V0IGJ0biBzaXplIHdpdGhpbiBwIHRhZ1xyXG4gIC5idG4ge1xyXG4gICAgZm9udC1zaXplOiBlbSgxNiwgMTYpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgZm9udC1zaXplOiBlbSgxOSwgMTkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5hIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgZWFzZS1pbi1vdXQpO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG4gIC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIC8vfVxyXG59XHJcbnAgPiBhIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxudWwsIG9sIHtcclxuICBtYXJnaW46MCAwIGVtKDE2KSBlbSgxNik7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1hcmdpbjowIDAgZW0oMTkpIGVtKDE5KTtcclxuICB9XHJcbiAgJi5uby1idWxsZXQge1xyXG4gICAgQGV4dGVuZCAldWw7XHJcbiAgfSAgXHJcbn1cclxudWwgbGksIG9sIGxpIHtcclxuICBmb250LXNpemU6IGVtKDE3KTtcclxuICBsaW5lLWhlaWdodDogZW0oMjUpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgyNiwgMTgpO1xyXG4gIH1cclxufVxyXG5saSB1bCwgbGkgb2wge1xyXG4gIG1hcmdpbjogZW0oOCkgMCBlbSg4KSBlbSgxOSk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcbiAgfVxyXG59XHJcbmxpIHVsIGxpLCBsaSBvbCBsaXtcclxuICBmb250LXNpemU6IGVtKDE2KTtcclxuICBsaW5lLWhlaWdodDogZW0oMTkpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDE5LCAxOSk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjQpO1xyXG4gIH1cclxufVxyXG51bCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOmRpc2M7XHJcbn1cclxub2wge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTpkZWNpbWFsO1xyXG59XHJcbm9sIG9sIHtcclxuICBsaXN0LXN0eWxlOiB1cHBlci1hbHBoYTtcclxufVxyXG5vbCBvbCBvbCB7XHJcbiAgbGlzdC1zdHlsZTogbG93ZXItcm9tYW47XHJcbn1cclxub2wgb2wgb2wgb2wge1xyXG4gIGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhO1xyXG59XHJcbnN0cm9uZyB7XHJcbiAgLy8gZm9udC13ZWlnaHQ6IDcwMDsgXHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gIGxpbmUtaGVpZ2h0OiBlbSgyNSwgMTcpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgcXVvdGVzOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDMwLCAyMCk7XHJcbiAgICBib3JkZXItbGVmdDogMTVweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIG1heC13aWR0aDogOTAlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDI2KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSg0NSwgMjYpO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDIzcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICBtYXgtd2lkdGg6IDkwJTtcclxuICB9XHJcbiAgJjpiZWZvcmUge1xyXG5cclxuICB9XHJcbn1cclxudGFibGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICB0YWJsZS1sYXlvdXQ6Zml4ZWQ7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgXHJcbiAgbWFyZ2luOiAwO1xyXG4gIG92ZXJmbG93LXg6IGF1dG87ICBcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gIH0gIFxyXG4gIGNhcHRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTk5OTk5OWVtO1xyXG4gIH1cclxuICB0aCwgdGQge1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICB9XHJcbiAgdGgge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG5cclxuICB9XHJcbiAgdHIge1xyXG4gICAgJi5oaWdobGlnaHQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gIH1cclxuICB0ZCB7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG4gIH1cclxuICB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICB9XHJcbiAgdHI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZjRmOTsgIFxyXG4gIH1cclxuICAuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcclxuICB9XHJcbn1cclxuLnNtYWxsIHtcclxuICBmb250LXNpemU6IGVtKDE0KTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgfSBcclxufVxyXG4ubGFyZ2Uge1xyXG4gIGZvbnQtc2l6ZTogZW0oMTkpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDI0KTtcclxuICB9XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuaSB7XHJcbiAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vLyBhZGRlZCBieSBjbGFyaXR5XHJcbmFydGljbGUgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICBhcnRpY2xlIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xyXG4gIH1cclxufSIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbiVtdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGJvdHRvbSk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdG9wKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDbG9zZSBCdXR0b25cclxuLy8gIDE1LiBEcmlsbGRvd25cclxuLy8gIDE2LiBEcm9wZG93blxyXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcclxuLy8gIDE4LiBGbGV4IFZpZGVvXHJcbi8vICAxOS4gRm9ybXNcclxuLy8gIDIwLiBMYWJlbFxyXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjIuIE1lbnVcclxuLy8gIDIzLiBNZXRlclxyXG4vLyAgMjQuIE9mZi1jYW52YXNcclxuLy8gIDI1LiBPcmJpdFxyXG4vLyAgMjYuIFBhZ2luYXRpb25cclxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI4LiBSZXZlYWxcclxuLy8gIDI5LiBTbGlkZXJcclxuLy8gIDMwLiBTd2l0Y2hcclxuLy8gIDMxLiBUYWJsZVxyXG4vLyAgMzIuIFRhYnNcclxuLy8gIDMzLiBUaHVtYm5haWxcclxuLy8gIDM0LiBUaXRsZSBCYXJcclxuLy8gIDM1LiBUb29sdGlwXHJcbi8vICAzNi4gVG9wIEJhclxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG4vLyAxLiBHbG9iYWwgXHJcbi8vIC0tLS0tLS0tLVxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQ5MCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoIHByaW1hcnk6ICMwQjg2NTEsIC8vIzIxOTllOCxcclxuc2Vjb25kYXJ5OiAjNzc3LCBzdWNjZXNzOiAjM2FkYjc2LCB3YXJuaW5nOiAjZmZhZTAwLCBhbGVydDogI2VjNTg0MCwgKTtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogIzY3Njc2NztcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMGEwYTBhO1xyXG4kd2hpdGU6ICNmZWZlZmU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuJGJvZHktZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG4kYnJlYWtwb2ludHM6ICggc21hbGw6IDAsIHNtYWxsbWVkaXVtOiA0ODBweCwgbWVkaXVtOiA3NjhweCwgbGFyZ2U6IDEwMjRweCwgeGxhcmdlOiAxMjgwcHgsIHh4bGFyZ2U6IDE0NDBweCwgeHh4bGFyZ2U6IDE5MDBweCk7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gc21hbGxtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UgeHhsYXJnZSk7XHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKCBzbWFsbDogNDBweCwgbWVkaXVtOiAxMDBweCwgbGFyZ2U6IDQwcHgpO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcyxcclxuJ0xpYmVyYXRpb24gTW9ubycsXHJcbkNvdXJpZXIsXHJcbm1vbm9zcGFjZTtcclxuJGhlYWRlci1zaXplczogKCBzbWFsbDogKCAnaDEnOiAyNCwgJ2gyJzogMjAsICdoMyc6IDE5LCAnaDQnOiAxOCwgJ2g1JzogMTcsICdoNic6IDE2KSwgbWVkaXVtOiAoICdoMSc6IDQ4LCAnaDInOiA0MCwgJ2gzJzogMzEsICdoNCc6IDI1LCAnaDUnOiAyMCwgJ2g2JzogMTYpLCApO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogNzUlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24tc2l6ZXM6ICggdGlueTogMC42cmVtLCBzbWFsbDogMC43NXJlbSwgZGVmYXVsdDogMC45cmVtLCBsYXJnZTogMS4yNXJlbSwgKTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuLy8gMTUuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuLy8gMTYuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKCB0aW55OiAxMDBweCwgc21hbGw6IDIwMHB4LCBsYXJnZTogNDAwcHgsICk7XHJcbi8vIDE3LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuLy8gMTguIEZsZXggVmlkZW9cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xyXG4vLyAxOS4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyxcclxuYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMjAuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbi8vIDIzLiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuLy8gMjQuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XHJcbi8vIDI1LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcbi8vIDI2LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAyOC4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG4vLyAyOS4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAzMC4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbi8vIDMxLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbi8vIDMyLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG4vLyAzMy4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMzQuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuLy8gMzUuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDM2LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW07XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtOyIsIi8vIFdlcyBQYWxldHRlXHJcblxyXG4kY29sb3ItZ3JlZW4tYW5jOiAjMEI4NjUxOy8vIGNoYW5nZWQgMDFhZjY1OyAvLyBhbmNob3IgZ3JlZW4gXHJcbiRjb2xvci1ncmVlbjogIzAwZTg2MjsgLy8gYmFubmVyIHRpdGxlIGdyZWVuIC0gYnJpZ2h0IGdyZWVuXHJcbiRjb2xvci1ncmVlbi1iZzogIzAzYTM1ZjsgLy8gaW52ZXN0b3JzIGJnXHJcbiRjb2xvci1ncmVlbi10aXRsZTogIzAxYjA2NjsgLy8gc3ViIG5hdiB0aXRsZSBncmVlblxyXG4kY29sb3ItZ3JlZW4tY29ycDojMjY3ZTQ0OyAvLyBtYWluIGNvcnBvcmF0ZSBncmVlbjtcclxuJGNvbG9yLWdyZWVuLXRpbGVzLWhvdmVyOiMxM2Q1NjM7XHJcbiRjb2xvci1ncmVlbi1mb290ZXItaG92ZXI6IzE0ZGM2NjtcclxuXHJcbiRjb2xvci1ncmV5LWJvZHk6ICMyYzJmMmY7IC8vIGdsb2JhbCBncmV5IC0gYm9keSB0ZXh0ICYgaGVhZGVyc1xyXG4kY29sb3ItZ3JleS1uYXY6ICMzNjNhNDU7IC8vIGdsb2JhbCBuYXYgb2ZmIHN0YXRlXHJcblxyXG4kY29sb3ItZ3JleS1zdHJva2U6ICM5Njk3OTc7XHJcblxyXG4kY29sb3ItZ3JleTM6ICM2MTYzNjM7IC8vIHN1YiBuYXYgc2VjdGlvbiB0aXRsZVxyXG4kY29sb3ItZ3JleTQ6ICM2MTYzNjMgOy8vICM4ZThmOGY7IC8vIHN1YiBuYXYgY29weSAvLyByZXBsYWNlbWVudCBncmV5IGZvciB0ZXh0XHJcbiRjb2xvci1ncmV5NTogIzNjM2UzZTsgLy8gZ3JleSBoaWdobGlnaHQgY2lyY2xlIGluIGZvb3RlclxyXG4kY29sb3ItZ3JleTY6ICNjYWNiY2I7IC8vIGdyZXkgc2hhcmUgcHJpY2UgZm9vdGVyXHJcbiRjb2xvci1ncmV5LXdoaXRlOiAjZWFlYWVhO1xyXG4kY29sb3ItZ3JleS1mdHItc3Ryb2tlOiAjNWY2MTYxO1xyXG4kY29sb3Itc2VjdGlvbi1iZzogI2ViZjBmMTtcclxuJGNvbG9yLXNlYXJjaC1tYmwtYmc6ICMyODI4Mjg7XHJcbiRjb2xvci1tYmwtYmFjazogIzYyNjQ2NDtcclxuJGNvbG9yLWNvbnRlbnQtbmF2LWhvdmVyOiAjNjE2MzYzO1xyXG4kY29sb3ItZ3JleS1tYmwtc3Ryb2tlOiAjZDdkZWRmO1xyXG4kY29sb3ItZ3JleS1yZWxhdGVkLXN0cm9rZTogI2EzYTRhNDtcclxuJGNvbG9yLXRpbWVsaW5lLXN0cm9rZTogIzRiNGM0YztcclxuJGNvbG9yLXRpbWVsaW5lLWZpbHRlcjogIzU2NTc1NztcclxuJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1mb250OiAjZTZlNmU2O1xyXG4kY29sb3ItdGltZWxpbmUtZmlsdGVyLW9uOiAjMDBlOTYzO1xyXG4kY29sb3ItdGltZWxpbmUtZmlsdGVyLW9uLWZvbnQ6ICMzMzMyMzE7XHJcblxyXG4kY29sb3Itb3JhbmdlOiAjZWM2NzFjO1xyXG5cclxuJHdpZHRoOiAxMDAlO1xyXG4kaGVpZ2h0OiAxMDAlO1xyXG4kbWF4V2lkdGg6IDE0NDBweDtcclxuJG1hcmdpbkF1dG86IDAgYXV0bztcclxuJG1hc3RlcldpZHRoOiAxNDQwcHg7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBudWxsYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAkZmxleDogMSAxIDBweDtcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBudWxsLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBudWxsIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBncmlkIGNvbHVtbi4gQ29sdW1ucyB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LW9yZGVyKCkuIGZsZXgtZ3JpZC1vcmRlcigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRvcmRlcik7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduKCkuIGZsZXgtZ3JpZC1yb3ctYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbigkeCwgJHkpO1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICAvLyBSZW1vdmUgdGhlc2UgaW4gNi4zXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuICBcbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyB7XG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoJHZhbHVlKSAvIDIgKiAtMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLidcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgbGVmdCkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc2l6ZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgICAjeyRoZWFkZXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3JcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgQGluY2x1ZGUgbWVudS1pY29ucztcblxuICAgIC8vIE9yaWVudGF0aW9uXG4gICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cbiAgICAgID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtemluZGV4OiAtMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIG1lbnUgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgYm9keS5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHRvIHBsYWNlIHVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhpcyBzaGFkb3cgb3ZlcmxhcHMgdGhlIG9mZi1jYW52YXMgbWVudXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG4gIC8vIEV4dHJhIHByb3BlcnRpZXMgbmVlZGVkIG9uIDxodG1sPiBhbmQgPGJvZHk+IHRvIG1ha2Ugb2ZmLWNhbnZhcyB3b3JrXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IFxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHBhZ2UgY29udGVudFxuICAub2ZmLWNhbnZhcy1jb250ZW50LFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7IC8vIFByZXZlbnRzIG1hcmdpbiBjb2xsYXBzaW5nLCB3aGljaCB3b3VsZCByZXZlYWwgdGhlIGJveCBzaGFkb3cgb2YgdGhlIHdyYXBwZXJcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1haW5jb250ZW50LXNoYWRvdykge1xuICAgICAgYm94LXNoYWRvdzogJG1haW5jb250ZW50LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBDbGljay10by1leGl0IG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBtZW51LlxuQG1peGluIG9mZi1jYW52YXMtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQ7XG4gIHotaW5kZXg6ICRvZmZjYW52YXMtemluZGV4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRzaXplOiAkb2ZmY2FudmFzLXNpemUsXG4gICRmaXhlZDogZmFsc2Vcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG5cbiAgLy8gR2VuZXJhdGVzIGFuIG9wZW4gc3RhdGUgY2xhc3MgdGhhdCBtYXRjaGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudVxuICBAYXQtcm9vdCB7XG4gICAgLmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbbGVmdF0gLSBQb3NpdGlvbiBvZiB0aGUgb2ZmLWNhbnZhcyBtZW51IGJlaW5nIHJldmVhbGVkLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnRcbikge1xuICAjeyRwb3NpdGlvbn06IDA7XG4gIHotaW5kZXg6IGF1dG87XG5cbiAgQGlmICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAmIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgJi5wb3NpdGlvbi1sZWZ0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQpOyB9XG4gICAgJi5wb3NpdGlvbi1yaWdodCAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0KTsgfVxuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgbWVudSBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IGZvcmVncm91bmQoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyB7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAyLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzRyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtd2lkdGggWzEuNXJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIHBhZGRsZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICR3aWR0aDogNHJlbSxcbiAgJGhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS13aWR0aDogMS41cmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG4gICRwYWRkbGUtaGVpZ2h0OiAkaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtbGVmdC1hY3RpdmU6ICR3aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgM3JlbSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgMXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgNXJlbSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsIDJyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvciwgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgfVxuICBcbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIHZhcmlhYmxlIGludG8gdGhlIGxlZ2FjeSBjb2xvciB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBhY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkdGFiLW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzbGlkZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBleHRlbmQgJW11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vIENsZWFyZml4XHJcblxyXG4vLyBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBhbHBoYS1hdHRyaWJ1dGUoJGF0dHJpYnV0ZSwgJGNvbG9yLCAkYmFja2dyb3VuZCkge1xyXG4gICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcclxuICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XHJcbiAgJHNvbGlkLWNvbG9yOiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcclxuICAjeyRhdHRyaWJ1dGV9OiAkc29saWQtY29sb3I7XHJcbiAgI3skYXR0cmlidXRlfTogJGNvbG9yO1xyXG59XHJcbkBtaXhpbiBib3gtLWdyYWQge1xyXG4gIC8qIElFOSBTVkcsIG5lZWRzIGNvbmRpdGlvbmFsIG92ZXJyaWRlIG9mICdmaWx0ZXInIHRvICdub25lJyAqL1xyXG4gIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l3SlNJZ2VUSTlJakV3TUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6QXdNREF3TUNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l3SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTXdNREF3TURBaUlITjBiM0F0YjNCaFkybDBlVDBpTUM0Mk5TSXZQZ29nSUR3dmJHbHVaV0Z5UjNKaFpHbGxiblErQ2lBZ1BISmxZM1FnZUQwaU1DSWdlVDBpTUNJZ2QybGtkR2c5SWpFaUlHaGxhV2RvZEQwaU1TSWdabWxzYkQwaWRYSnNLQ05uY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrS1NJZ0x6NEtQQzl6ZG1jKyk7XHJcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwwLjk1KSAxMDAlKTsgLyogRkYzLjYrICovXHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2JhKDAsMCwwLDApKSwgY29sb3Itc3RvcCgxMDAlLHJnYmEoMCwwLDAsMC45NSkpKTsgLyogQ2hyb21lLFNhZmFyaTQrICovXHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDAuOTUpIDEwMCUpOyAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xyXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDAsMCwwLDApIDAlLHJnYmEoMCwwLDAsMC45NSkgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqL1xyXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDAuOTUpIDEwMCUpOyAvKiBJRTEwKyAqL1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDAsMCwwLDApIDAlLHJnYmEoMCwwLDAsMC45NSkgMTAwJSk7IC8qIFczQyAqL1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2E2MDAwMDAwJyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOCAqL1xyXG59XHJcblxyXG5AbWl4aW4gcm91bmRlZF9jb3JuZXJzICgkcmFkaXVzKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuQG1peGluIGJhY2tncm91bmQoJGltZ3BhdGgsJHBvc2l0aW9uOjAgMCwkcmVwZWF0OiBuby1yZXBlYXQsICRjb2xvcjogJGNvbG9yVHJhbnNwYXJlbnQpIHtcclxuICBiYWNrZ3JvdW5kOiB7XHJcbiAgICBpbWFnZTogdXJsKCRpbWdwYXRoKTtcclxuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcbiAgICByZXBlYXQ6ICRyZXBlYXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yVHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBhcnJvd3NcclxuQG1peGluIGFycm93LWRvd24oJHdpZHRoLCAkaGVpZ2h0LCAkY29sb3IpIHtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGggMCAkd2lkdGg7XHJcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBhcnJvdy11cCgkd2lkdGgsICRoZWlnaHQsICRjb2xvcikge1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aCAkaGVpZ2h0ICR3aWR0aDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxufVxyXG5cclxuLy8gQ2xlYXJmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsbHkgY2VudGVyXHJcbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4vL0Nyb3NzIGJyb3dzZXIgb3BhY2l0eVxyXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xyXG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xyXG4gICRvcGFjaXR5LWllOiAkb3BhY2l0eSAqIDEwMDtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpOyAvL0lFOFxyXG59XHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRhcmdzLi4uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkYXJncztcclxuICAtbW96LXRyYW5zaXRpb246ICRhcmdzO1xyXG4gIC1tcy10cmFuc2l0aW9uOiAkYXJncztcclxuICAtby10cmFuc2l0aW9uOiAkYXJncztcclxuICB0cmFuc2l0aW9uOiAkYXJncztcclxufVxyXG5AbWl4aW4gdmVydGljYWwtYWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xyXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcbiAgdG9wOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBhcnJvd19oZWxwZXIoJGFycm93U2l6ZSwgJGFycm93Q29sb3IsICRtYXJnaW4sICRzaWRlLCAkYWxpZ24pIHtcclxuICBAaWYgJHNpZGUgPT0gXCJ0b3BcIiB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYXJyb3dDb2xvcjtcclxuICAgIHRvcDogLTIgKiAkYXJyb3dTaXplO1xyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gXCJib3R0b21cIiB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkYXJyb3dDb2xvcjtcclxuICAgIGJvdHRvbTogLTIgKiAkYXJyb3dTaXplO1xyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYXJyb3dDb2xvcjtcclxuICAgIGxlZnQ6IC0yICogJGFycm93U2l6ZTtcclxuICB9XHJcbiAgQGlmICRzaWRlID09IFwicmlnaHRcIiB7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGFycm93Q29sb3I7XHJcbiAgICByaWdodDogLTIgKiAkYXJyb3dTaXplO1xyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gXCJyaWdodFwiIG9yICRzaWRlID09IFwibGVmdFwiIHtcclxuICAgIEBpZiAkYWxpZ24gPT0gXCJjZW50ZXJcIiB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtJGFycm93U2l6ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRhbGlnbiA9PSBcInRvcFwiIHtcclxuICAgICAgdG9wOiAkbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGFsaWduID09IFwiYm90dG9tXCIge1xyXG4gICAgICBib3R0b206ICRtYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIG9yICRzaWRlID09IFwidG9wXCIge1xyXG4gICAgQGlmICRhbGlnbiA9PSBcImNlbnRlclwiIHtcclxuICAgICAgcmlnaHQ6IDUwJTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGFycm93U2l6ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRhbGlnbiA9PSBcImxlZnRcIiB7XHJcbiAgICAgIGxlZnQ6ICRtYXJnaW47XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkYWxpZ24gPT0gXCJyaWdodFwiIHtcclxuICAgICAgcmlnaHQ6ICRtYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXJyb3coJHNpZGU6IFwicmlnaHRcIiwgJGFsaWduOiBcImNlbnRlclwiLCAkc2l6ZTogMjBweCwgJGNvbG9yOiAjZjZmNmY2LCAkYm9yZGVyQ29sb3I6IFwibm9uZVwiLCAkYm9yZGVyU2l6ZTogM3B4KSB7XHJcbiAgJHNlbGVjdG9yOiBcIiY6YWZ0ZXIsICY6YmVmb3JlXCI7XHJcbiAgQGlmICRib3JkZXJDb2xvciA9PSBcIm5vbmVcIiB7XHJcbiAgICAkc2VsZWN0b3I6IFwiJjphZnRlclwiO1xyXG4gIH1cclxuICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG4gIFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkc2l6ZTtcclxuICAgIEBpbmNsdWRlIGFycm93X2hlbHBlcigkc2l6ZSwgJGNvbG9yLCAkc2l6ZSwgJHNpZGUsICRhbGlnbik7XHJcbiAgfVxyXG4gIFxyXG4gIEBpZiAkYm9yZGVyQ29sb3IgIT0gXCJub25lXCIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRib3JkZXJTaXplICsgJHNpemU7XHJcbiAgICAgIEBpbmNsdWRlIGFycm93X2hlbHBlcigkc2l6ZSArICRib3JkZXJTaXplLCAkYm9yZGVyQ29sb3IsICRzaXplIC0gJGJvcmRlclNpemUsICRzaWRlLCAkYWxpZ24pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKlxyXG4gVXNlXHJcblxyXG4uYm94IHtcclxuICAmLmFycm93LXRvcC1sZWZ0IHtAaW5jbHVkZSBhcnJvdygndG9wJywnbGVmdCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctdG9wLXJpZ2h0IHtAaW5jbHVkZSBhcnJvdygndG9wJywncmlnaHQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXRvcC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCd0b3AnLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1sZWZ0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywnbGVmdCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctYm90dG9tLXJpZ2h0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywncmlnaHQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWxlZnQtdG9wIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ3RvcCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctbGVmdC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdsZWZ0JywnY2VudGVyJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1sZWZ0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdib3R0b20nLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXJpZ2h0LXRvcCB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywndG9wJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1yaWdodC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdyaWdodCcsJ2NlbnRlcicsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctcmlnaHQtYm90dG9tIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdib3R0b20nLCAxMHB4LCAjNGZhZGUzKX1cclxufVxyXG5cclxuXHJcbi5ib3gtd2l0aC1ib3JkZXIge1xyXG4gICYuYXJyb3ctdG9wLWxlZnQge0BpbmNsdWRlIGFycm93KCd0b3AnLCdsZWZ0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXRvcC1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ3RvcCcsJ3JpZ2h0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXRvcC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCd0b3AnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctYm90dG9tLWxlZnQge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdsZWZ0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ2JvdHRvbScsJ3JpZ2h0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctbGVmdC10b3Age0BpbmNsdWRlIGFycm93KCdsZWZ0JywndG9wJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWxlZnQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ2NlbnRlcicsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy1sZWZ0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdib3R0b20nLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtdG9wIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCd0b3AnLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtYm90dG9tIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdib3R0b20nLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG59XHJcblxyXG5cclxuKioqKioqKioqKioqL1xyXG5cclxuLy8gSW1wb3J0IG1haW4gZm9udFxyXG5AbWl4aW4gZm9udC1mYWNlKCRzdHlsZS1uYW1lLCAkZm9sZGVyLCAkZmlsZSwgJGZhbWlseSwgJGNhdGVnb3J5OlwiXCIpIHtcclxuICAgICRmaWxlcGF0aDogJGZvbGRlciArICRmaWxlO1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skc3R5bGUtbmFtZX1cIjtcclxuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLCB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkc3R5bGUtbmFtZSArIFwiXCIpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICUjeyRzdHlsZS1uYW1lfSB7XHJcbiAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xyXG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHN0eWxlLW5hbWV9XCIsICN7JGNhdGVnb3J5fTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHN0eWxlLW5hbWV9XCI7XHJcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgIH0gXHJcbn1cclxuXHJcbi8vIENVU1RPTSBNSVhJTkdTXHJcbkBtaXhpbiB3Zi1pY29uICgkaWNvbiwgJHNpemUsICRjb2xvcikge1xyXG4gICAgY29udGVudDogJGljb247XHJcbiAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgY29sb3I6ICRjb2xvcjsgICAgICAgIFxyXG59XHJcblxyXG5AbWl4aW4gZGlyZWN0aW9uLWFycm93ICgkc2l6ZToxNCwgJGNvbG9yOiMwQjg2NTEpIHsgXHJcbiAgICBjb250ZW50OiAnXFxlODA0JztcclxuICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcclxuICAgIGZvbnQtc2l6ZTogZW0oJHNpemUpO1xyXG4gICAgY29sb3I6ICRjb2xvcjsgXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMzBweDsgICAgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAxNTBtcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgMDtcclxufVxyXG5cclxuQG1peGluIHdpZGdldC10aXRsZSAoJHNpemU6MTMsICRjb2xvcjojNjQ2NDY0LCAkbGV0dGVyLXNwYWNpbmc6LjYgKSB7XHJcbiAgICBmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiOyAgICAgXHJcbiAgICBmb250LXNpemU6ZW0oJHNpemUpO1xyXG4gICAgbGluZS1oZWlnaHQ6Ljk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogZW0oJGxldHRlci1zcGFjaW5nKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgIFxyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcclxufVxyXG5cclxuLyogdXNhZ2UgZXhhbXBsZVxyXG4uZGl2IHsgIFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgd2YtaWNvbiAoaWNvbiwgZm9udC1zaXplLCBjb2xvcik7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6NTBweDtcclxuICAgIGhlaWdodDo1MHB4OyAgICBcclxuICB9XHJcbn1cclxuXHJcbiovXHJcblxyXG5cclxuXHJcbi8vIGRpYWdvbmFsIHN0cmlwZXNcclxuQG1peGluIHN0cmlwZXMtd2hpdGUoKSB7XHJcbiAgYmFja2dyb3VuZDp1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFCa0NBWUFBQUJ3NHBWVUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURZM0lEYzVMakUxTnpjME55d2dNakF4TlM4d015OHpNQzB5TXpvME1EbzBNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0k1TlVNNE56Y3pNREpDUlRFeFJUWTVSVFUxUkRnM1F6SXdOa1k1UVRreUlpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSTVOVU00TnpjME1ESkNSVEV4UlRZNVJUVTFSRGczUXpJd05rWTVRVGt5SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFqazFRemczTnpFd01rSkZNVEZGTmpsRk5UVkVPRGRETWpBMlJqbEJPVElpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UWprMVF6ZzNOekl3TWtKRk1URkZOamxGTlRWRU9EZERNakEyUmpsQk9USWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejVCclQ0bUFBQUIrRWxFUVZSNDJ1emIzVTNEQUF4Rlllb0ZtS2ZkQUFhbUd6QVBzRUJJSG5oQktrMURmbzd0WThrUGVZdjBTWkVpMzNzYWh1R3A4WnpIdlk3N0RIaVhyM0ZmUWd3T3hyanZJUVlIWTNvSU1UZ1lIVUhRR04xQThCaWRRRkpnZEFGSmc5RUJKQlZHZFpCMEdKVkJTQmlmY3pHcWd0QXdYdWRpVkFSSmpWRU5KRDFHSlpBU0dGVkF5bUJVQUNtRmtSMmtIRVpta0pJWVdVSEtZbVFFS1kyUkRhUThSaWFRRmhoWlFOcGdaQUJwaFVFSGFZZEJCbW1KUVFWcGkwRUVhWTFCQTJtUFFRSVJBd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUFnWWdCQXJtSXdRR1pNTjdFWUlDSUFRSVJBd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUF6V2tZaGc4eE1IT2VRQVl4R0JqalhrTU1Ec2IwcFFveE9CaC8vYW1MY1FER2tTQmkzTWl4aFJnY2pDTkF4TGlUOEF3eE9CaDdnb2d4TS9zY1luQXc5Z0FSNDhGV1FJakJ3ZGdTUkl5RkZZMFFZek9NUlNlTkVJT0RzVGFJR0NzYyswSU1Ec1phSUdLc2VBWVBNVGdZL3dVUlk0T0FTSWpCd1ZnS0lzYUcwYWtRZzRQeEtJZ1lPNFFLUXd3T3hsd1FNWGFNMjRZWUhJeDdJR0ljRUVRUE1UZ1l0MERFT0xDaUVXSndNSDZEaUFFb0w0VVlISXdmRURGQXRiNnBRWFVSZzlPeC9CWmdBT1VYT1J4R3k0YWFBQUFBQUVsRlRrU3VRbUNDJyk7XHJcblxyXG59XHJcbkBtaXhpbiBzdHJpcGVzLWdyZWVuKCkge1xyXG4gIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFHUUFBQUJrQ0FZQUFBQnc0cFZVQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNRFkzSURjNUxqRTFOemMwTnl3Z01qQXhOUzh3TXk4ek1DMHlNem8wTURvME1pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qUkJOamczTURBNE1ESkNSakV4UlRaQ05qSTNRVU5ET0VWQk5USkJNMFUzSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pSQk5qZzNNREE1TURKQ1JqRXhSVFpDTmpJM1FVTkRPRVZCTlRKQk0wVTNJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TkVFMk9EY3dNRFl3TWtKR01URkZOa0kyTWpkQlEwTTRSVUUxTWtFelJUY2lJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZORUUyT0Rjd01EY3dNa0pHTVRGRk5rSTJNamRCUTBNNFJVRTFNa0V6UlRjaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NlR6KzdCQUFBQjgwbEVRVlI0MnV6YnkwMERRUkJGVVZNSkVJL0pBTUlnU0p3QnNiQ0ZDT2hac0VFeUhnL3p1VlYxVzZyRjdGbzY2c1Ywdi9kdytuZzlOVjduTVpjeGo0QzlmSTE1RGpFNEdHUGVRd3dPeHZRUlluQXdPb0tnTWJxQjRERTZnYVRBNkFLU0JxTURTQ3FNNmlEcE1DcURrREErNTJKVUJhRmh2TXpGcUFpU0dxTWFTSHFNU2lBbE1LcUFsTUdvQUZJS0l6dElPWXpNSUNVeHNvS1V4Y2dJVWhvakcwaDVqRXdnTFRDeWdMVEJ5QURTQ29NTzBnNkRETklTZ3dyU0ZvTUkwaHFEQnRJZWd3UWlCZ2hFREJDSUdDQVFNVUFnWW9CQXhBQ0JpQUVDRVFNRUlnWUlSQXdRaUJnZ0VERkFJR0tBUU1RQWdZZ0JBaEVEQlBJa0JnZGt3bmdUZ3dFaUJnaEVEQkNJR0NBUU1VQWdZb0JBeEFDQmlBRUNFUU1FSWdZSVJBd1FpQmdnRURGQUlHS0FRTVFBZ1lnQkFoRURCaUlHWjUxRERBN0dtRXVJd2NHWURrZUl3Y0g0NjA5ZGpBTXdqZ1FSNDBxT0xjVGdZQndCSXNhTmhHZUl3Y0hZRTBTTW1kbm5FSU9Ec1FlSUdIZTJBa0lNRHNhV0lHSXNyR2lFR0p0aExMcEZEekU0R0d1RGlMSENZMStJd2NGWUMwU01GWi9CUXd3T3huOUJ4TmdnSUJKaWNEQ1dnb2l4WVhRcXhPQmczQXNpeGc2aHdoQ0RnekVYUkl3ZDQ3WWhCZ2ZqRm9nWUJ3VFJRd3dPeGpVUU1RNnNhSVFZSEl6ZklHSUF5a3NoQmdmakIwUU1VSzB2eEdCMUxMOEZHQUFFZHkxYisrdVpwUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG59XHJcblxyXG5cclxuXHJcbkBtaXhpbiBtdWx0aWxpbmUtZWxsaXBzaXMoJGhlaWdodCwgJGxpbmVoZWlnaHQsICRlbGxpcHNpc3dpZHRoKSB7XHJcblxyXG4kZWxsaXBzaXN3aWR0aDogM2VtICFkZWZhdWx0O1xyXG5cclxuICAuZWxsaXBzaXMge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZWhlaWdodDsgfVxyXG5cclxuICAuZWxsaXBzaXM6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDVweDsgaGVpZ2h0OiAkaGVpZ2h0OyB9XHJcblxyXG4gIC5lbGxpcHNpcyA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTVweDsgfSAgICBcclxuXHJcbiAgLmVsbGlwc2lzOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXFwwMjAyNlwiO1xyXG5cclxuICAgIGZsb2F0OiByaWdodDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMjVweDsgbGVmdDogMTAwJTsgXHJcbiAgICB3aWR0aDogJGVsbGlwc2lzd2lkdGg7IG1hcmdpbi1sZWZ0OiAtJGVsbGlwc2lzd2lkdGg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICBcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCxcclxuICAgICAgICBmcm9tKHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpLCB0byh3aGl0ZSksIGNvbG9yLXN0b3AoNTAlLCB3aGl0ZSkpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgNTAlLCB3aGl0ZSk7ICAgICBcclxuICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCB3aGl0ZSA1MCUsIHdoaXRlKTtcclxuICAgICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgNTAlLCB3aGl0ZSk7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgNTAlLCB3aGl0ZSlcclxuICB9XHJcblxyXG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQU5JTUFURSBDU1MgLSBTSU1QTElGSUVEIFZFUlNJT05cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcblxyXG4uYW5pbWF0ZWQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRmFkZUluTGVmdFxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcclxufVxyXG5cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZhZGVJblJpZ2h0XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxufVxyXG5cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZhZGVJblVwXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluVXAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxufSIsImh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxyXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXHJcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcclxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXHJcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxyXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXHJcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxyXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8sIG1haW4ge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qIGh0dHA6Ly93d3cucGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcvICovXHJcbiosXHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICAvLyBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDMgKi9cclxufVxyXG5cclxuLyogTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcbmEge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgJjpsaW5re1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOnZpc2l0ZWQge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuYTphY3RpdmUsXHJcbmE6aG92ZXIge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICovXHJcbmltZyB7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5ociB7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cclxuICovXHJcbmJ1dHRvbiB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKi9cclxuYnV0dG9uW2Rpc2FibGVkXSxcclxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cclxuICovXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICovXHJcbmlucHV0IHtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKipcclxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxyXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxyXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gKi9cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxyXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxyXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXHJcbiAqL1xyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICovXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxyXG4gKi9cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKiBUYWJsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXHJcbiAqL1xyXG50YWJsZSB7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxudGQsXHJcbnRoIHtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBIZWxwZXIgY2xhc3Nlc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xyXG5idXR0b24sXHJcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXHJcbn1cclxuXHJcbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cclxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcclxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBtYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuaHRtbCwgYm9keSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LWZhbWlseTogSGV1cmlzdGljYTtcclxufVxyXG5cclxub2wsIHVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG51bCBsaSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG5cclxudGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG5cclxuaW5wdXR7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIC1vLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxufVxyXG4vKmxhYmVse1xyXG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbn0qL1xyXG4uY2xlYXJ7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgZmxvYXQ6IG5vbmU7XHJcbn1cclxuXHJcbi50aXRsZU5hbWVQYWdle1xyXG4gIGgze1xyXG4gICAgcGFkZGluZzogMjBweCAwIDE1cHggMDtcclxuICB9XHJcbn1cclxuLnBpbmtCdG4xOXtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbn1cclxuLnBpbmtCdG4yNHtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbn1cclxuLnBpbmtTdWJtaXR7XHJcbiAgZm9udC1mYW1pbHk6IGludGVyZmFjZSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxOXB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kOiAjYWYxNDc4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICYucG9zdENvbW1lbnR7XHJcbiAgICBmb250LWZhbWlseTogaW50ZXJmYWNlLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICB9XHJcbn1cclxuLmZzMTZ7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcbi5iUntcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTllOWU5O1xyXG59XHJcbi5iUkdyYXl7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2I3YjdiNztcclxufVxyXG4uYkJ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWU5ZTk7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gIC5iUntcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbiAgLmJSR3JheXtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn0iLCIvLyBBbGwgd2VzZmFybWVycyBpY29uc1xyXG4kaWNvbi1kb3duLXNtYWxsOiAnXFxlODAwJztcclxuXHJcbi8qICfuoIAnICovXHJcblxyXG4kaWNvbi1sZWZ0LW9wZW4tbWluaTogJ1xcZTgwMSc7XHJcblxyXG4vKiAn7qCBJyAqL1xyXG5cclxuJGljb24tcmlnaHQtb3Blbi1taW5pOiAnXFxlODAyJztcclxuXHJcbi8qICfuoIInICovXHJcblxyXG4kaWNvbi11cC1vcGVuLW1pbmk6ICdcXGU4MDMnO1xyXG5cclxuLyogJ+6ggycgKi9cclxuXHJcbiRpY29uLWRvd24tb3Blbi1iaWc6ICdcXGU4MDQnO1xyXG5cclxuLyogJ+6ghCcgKi9cclxuXHJcbiRpY29uLWxlZnQtb3Blbi1iaWc6ICdcXGU4MDUnO1xyXG5cclxuLyogJ+6ghScgKi9cclxuXHJcbiRpY29uLXJpZ2h0LW9wZW4tYmlnOiAnXFxlODA2JztcclxuXHJcbi8qICfuoIYnICovXHJcblxyXG4kaWNvbi11cC1vcGVuLWJpZzogJ1xcZTgwNyc7XHJcblxyXG4vKiAn7qCHJyAqL1xyXG5cclxuJGljb24tZG93bi1vcGVuOiAnXFxlODA4JztcclxuXHJcbi8qICfuoIgnICovXHJcblxyXG4kaWNvbi1sZWZ0LW9wZW46ICdcXGU4MDknO1xyXG5cclxuLyogJ+6giScgKi9cclxuXHJcbiRpY29uLXJpZ2h0LW9wZW46ICdcXGU4MGEnO1xyXG5cclxuLyogJ+6giicgKi9cclxuXHJcbiRpY29uLXVwLW9wZW46ICdcXGU4MGInO1xyXG5cclxuLyogJ+6giycgKi9cclxuXHJcbiRpY29uLWRvd24tb3Blbi1taW5pOiAnXFxlODBjJztcclxuXHJcbi8qICfuoIwnICovXHJcblxyXG4kaWNvbi1saW5rZWRpbjogJ1xcZTgwZCc7XHJcblxyXG4vKiAn7qCNJyAqL1xyXG5cclxuJGljb24tdHdpdHRlcjogJ1xcZTgwZSc7XHJcblxyXG4vKiAn7qCOJyAqL1xyXG5cclxuJGljb24tbGVmdC1zbWFsbDogJ1xcZTgwZic7XHJcblxyXG4vKiAn7qCPJyAqL1xyXG5cclxuJGljb24tcmlnaHQtc21hbGw6ICdcXGU4MTAnO1xyXG5cclxuLyogJ+6gkCcgKi9cclxuXHJcbiRpY29uLXVwLXNtYWxsOiAnXFxlODExJztcclxuXHJcbi8qICfuoJEnICovXHJcblxyXG4kaWNvbi1tYWlsOiAnXFxlODEyJztcclxuXHJcbi8qICfuoJInICovXHJcblxyXG4kaWNvbi12aW1lbzogJ1xcZTgxMyc7XHJcblxyXG4vKiAn7qCTJyAqL1xyXG5cclxuJGljb24tc2VhcmNoOiAnXFxlODE0JztcclxuXHJcbi8qICfuoJQnICovXHJcblxyXG4kaWNvbi1kb3duLWRpcjogJ1xcZTgxNSc7XHJcblxyXG4vKiAn7qCVJyAqL1xyXG5cclxuJGljb24tbGVmdC1kaXI6ICdcXGU4MTYnO1xyXG5cclxuLyogJ+6glicgKi9cclxuXHJcbiRpY29uLXJpZ2h0LWRpcjogJ1xcZTgxNyc7XHJcblxyXG4vKiAn7qCXJyAqL1xyXG5cclxuJGljb24tdXAtZGlyOiAnXFxlODE4JztcclxuXHJcbi8qICfuoJgnICovXHJcblxyXG4kaWNvbi1jY3c6ICdcXGU4MTknO1xyXG5cclxuLyogJ+6gmScgKi9cclxuXHJcbiRpY29uLWN3OiAnXFxlODFhJztcclxuXHJcbi8qICfuoJonICovXHJcblxyXG4kaWNvbi11c2VyOiAnXFxlODFiJztcclxuXHJcbi8qICfuoJsnICovXHJcblxyXG4kaWNvbi11c2VyczogJ1xcZTgxYyc7XHJcblxyXG4vKiAn7qCcJyAqL1xyXG5cclxuJGljb24tdXNlci1hZGQ6ICdcXGU4MWQnO1xyXG5cclxuLyogJ+6gnScgKi9cclxuXHJcbiRpY29uLXBsdXM6ICdcXGU4MWUnO1xyXG5cclxuLyogJ+6gnicgKi9cclxuXHJcbiRpY29uLW1pbnVzOiAnXFxlODFmJztcclxuXHJcbi8qICfuoJ8nICovXHJcblxyXG4kaWNvbi1oZWxwOiAnXFxlODIwJztcclxuXHJcbi8qICfuoKAnICovXHJcblxyXG4kaWNvbi1pbmZvOiAnXFxlODIxJztcclxuXHJcbi8qICfuoKEnICovXHJcblxyXG4kaWNvbi1hdHRlbnRpb246ICdcXGU4MjInO1xyXG5cclxuLyogJ+6goicgKi9cclxuXHJcbiRpY29uLXJlc2l6ZS1mdWxsOiAnXFxlODIzJztcclxuXHJcbi8qICfuoKMnICovXHJcblxyXG4kaWNvbi1yZXNpemUtc21hbGw6ICdcXGU4MjQnO1xyXG5cclxuLyogJ+6gpCcgKi9cclxuXHJcbiRpY29uLWxvY2F0aW9uOiAnXFxlODI1JztcclxuXHJcbi8qICfuoKUnICovXHJcblxyXG4kaWNvbi1mYWNlYm9vazogJ1xcZTgyNic7XHJcblxyXG4vKiAn7qCmJyAqL1xyXG5cclxuJGljb24tY2hlY2s6ICdcXGU4MjcnO1xyXG5cclxuLyogJ+6gpycgKi9cclxuXHJcbiRpY29uLWNhbmNlbDogJ1xcZTgyOCc7XHJcblxyXG4vKiAn7qCoJyAqL1xyXG5cclxuJGljb24tbWVudTogJ1xcZTgyOSc7XHJcblxyXG4vKiAn7qCpJyAqL1xyXG5cclxuJGljb24tY2hhcnQtcGllOiAnXFxlODJhJztcclxuXHJcbi8qICfuoKonICovXHJcblxyXG4kaWNvbi1jaGFydC1saW5lOiAnXFxlODJiJztcclxuXHJcbi8qICfuoKsnICovXHJcblxyXG4kaWNvbi1jaGFydC1iYXI6ICdcXGU4MmMnO1xyXG5cclxuLyogJ+6grCcgKi9cclxuXHJcbiRpY29uLWNoYXJ0LWFyZWE6ICdcXGU4MmQnO1xyXG5cclxuLyogJ+6grScgKi9cclxuXHJcbiRpY29uLXdmLWxvZ286ICdcXGU4MmUnO1xyXG5cclxuLyogJ+6gricgKi9cclxuXHJcbiRpY29uLWluc3RhZ3JhbTogJ1xcZTgyZic7XHJcblxyXG4vKiAn7qCvJyAqL1xyXG5cclxuJGljb24tYXJyb3ctdXA6ICdcXGU4MzAnO1xyXG5cclxuLyogJ+6gsCcgKi9cclxuXHJcbiRpY29uLWFycm93LWRvd246ICdcXGU4MzEnO1xyXG5cclxuLyogJ+6gsScgKi9cclxuXHJcbiRpY29uLWFycm93LWJpZy11cDogJ1xcZTgzMic7XHJcblxyXG4vKiAn7qCyJyAqL1xyXG5cclxuJGljb24tYXJyb3ctYmlnLXJpZ2h0OiAnXFxlODMzJztcclxuXHJcbi8qICfuoLMnICovXHJcblxyXG4kaWNvbi1hcnJvdy1iaWctbGVmdDogJ1xcZTgzNCc7XHJcblxyXG4vKiAn7qC0JyAqL1xyXG5cclxuJGljb24tYXJyb3ctYmlnLWRvd246ICdcXGU4MzUnO1xyXG5cclxuLyogJ+6gtScgKi9cclxuXHJcbiRpY29uLWljb24tY2hlY2tib3gtc2VsZWN0ZWQ6ICdcXGU4MzYnO1xyXG5cclxuLyogJ+6gticgKi9cclxuXHJcbiRpY29uLWljb24tY2hlY2tib3g6ICdcXGU4MzcnO1xyXG5cclxuLyogJ+6gtycgKi9cclxuIiwiJGJyb3dzZXItY29udGV4dDogMTZweDtcclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogJGJyb3dzZXItY29udGV4dCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn0iLCIvLyBJbmxpbmUgbWVkaWEgcXVlcmllc1xyXG5cclxuLy8gRXhhbXBsZVxyXG4vLyBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1hbmQtZGVza3RvcCl7fVxyXG5cclxuQG1peGluIG1lZGlhLXF1ZXJ5KCRicmVha3BvaW50KSB7XHJcblxyXG4gIEBpZiAkYnJlYWtwb2ludCA9PSB0YWJsZXQge1xyXG4gICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSg3NjhweCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMDI0cHgpKSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkYnJlYWtwb2ludCA9PSB0YWJsZXQtcG9ydCB7XHJcbiAgLyogUG9ydHJhaXQgKi9cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IEBjb250ZW50OyB9ICAgIFxyXG4gIH0gIFxyXG4gIEBlbHNlIGlmICRicmVha3BvaW50ID09IHRhYmxldC1hbmQtZGVza3RvcCB7XHJcbiAgIC8vQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogZW0oNzY4cHgpKSB7IEBjb250ZW50OyB9IFxyXG4gICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSg4OTBweCkpIHsgQGNvbnRlbnQ7IH0gXHJcbiAgIC8vIC5uby1jc3Njb2x1bW5zICYgeyBAY29udGVudDsgfSBcclxuICB9XHJcbiAgQGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gbW9iaWxlIHtcclxuICAgLy9AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiBlbSg2NDBweCkpIHsgQGNvbnRlbnQ7IH0gXHJcbiAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IGVtKDY0MHB4KSkgeyBAY29udGVudDsgfSBcclxuICAgLy8ubm8tY3NzY29sdW1ucyAmIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG4gIEBlbHNlIGlmICRicmVha3BvaW50ID09IG1vYmlsZS13aWRlIHtcclxuICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogZW0oNzY4cHgpKSB7IEBjb250ZW50OyB9IFxyXG4gICAvLy5uby1jc3Njb2x1bW5zICYgeyBAY29udGVudDsgfSBcclxuICB9XHJcblxyXG4gIC8vICoqKioqKioqKiogIE1pZ3JhdGluZyB0b3dhcmRzIHRoZXNlIGJyZWFrcG9pbnRzICoqKioqKioqKiogXHJcbiAgQGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gcGhhYmxldCB7XHJcbiAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IGVtKDY0MHB4KSkgeyBAY29udGVudDsgfSAgIFxyXG4gICAvLyAubm8tY3NzY29sdW1ucyAmIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG4gIEBlbHNlIGlmICRicmVha3BvaW50ID09IGRlc2t0b3Age1xyXG4gICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSg5MjlweCkpIHsgQGNvbnRlbnQ7IH0gICBcclxuICAgLy8gLm5vLWNzc2NvbHVtbnMgJiB7IEBjb250ZW50OyB9IFxyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gIEBlbHNlIGlmICRicmVha3BvaW50ID09IHdpZGVzY3JlZW4ge1xyXG4gICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSgxNDQwcHgpKSB7IEBjb250ZW50OyB9ICBcclxuICAgLy8gLm5vLWNzc2NvbHVtbnMgJiB7IEBjb250ZW50OyB9ICAgIFxyXG4gIH1cclxuXHJcbn0iLCJodG1sIHtcclxuICAvL292ZXJmbG93OmhpZGRlbjtcclxuICBAaW5jbHVkZSBtZWRpYS1xdWVyeShtb2JpbGUtd2lkZSkge1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5ib2R5IHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgaGVpZ2h0OiBhdXRvOyBcclxuICAmLmZ0ci1maXgge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG4ud3JhcHBlcntcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogJGhlaWdodDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIH1cclxufVxyXG4jbWFpbiB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgJi5vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAzO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAvL2hlaWdodDogMTAwdmg7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgIG9wYWNpdHk6IC4zNTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbn1cclxuLmNvbnRhaW5lcntcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIG1heC13aWR0aDogJG1heFdpZHRoO1xyXG4gIG1hcmdpbjogJG1hcmdpbkF1dG87XHJcbiAgcGFkZGluZzogMCAxNXB4OyBcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgcGFkZGluZzogMCAyMHB4OyBcclxuICB9XHJcbiAgPio6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5zZWN0aW9uIHtcclxuICBtYXJnaW46IDA7XHJcbiAgJi5ncmV5IHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWN0aW9uLWJnO1xyXG4gIH1cclxuICAmLnBhbmVscyB7XHJcbiAgICBwYWRkaW5nOiAwOy8vNzVweCAwIDAgMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgcGFkZGluZzogNDVweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgcGFkZGluZzogNDVweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gICYuaW5kZW50LW1lZGl1bSB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMzQ1cHg7XHJcbiAgICAgIH0gICAgXHJcbiAgfVxyXG4gICYuaW5kZW50LXNtYWxsIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICB9IFxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTA2MHB4O1xyXG4gICAgICB9ICAgIFxyXG4gIH1cclxuICAmLnNwYWNlZCB7XHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcbn1cclxuXHJcbmEge1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufSBcclxuXHJcbi8vIGdsb2JhbCBidXR0b24gc3R5bGVcclxuLmJ0biB7XHJcbiAgICBAZXh0ZW5kICVidXR0b247XHJcblxyXG4gICAgJi5jbG9zZSB7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWNsb3NlLnBuZycpbm8tcmVwZWF0IDVweCA4cHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWNsb3NlLWFjdGl2ZS5wbmcnKW5vLXJlcGVhdCA1cHggOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmZpbHRlciB7XHJcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjNjQ2NDY0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICMwMGU4NjI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGU4NjI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmludmVydCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBnbG9iYWwgc3VibWl0IHN0eWxlXHJcbi5idG4tc3VibWl0IHtcclxuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gIGZvbnQtc2l6ZTogZW0oMTIpO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgXHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcclxuICBjb2xvcjogI2ZmZjsgXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gIEBpbmNsdWRlIHJvdW5kZWRfY29ybmVycyg1MCUpO1xyXG4gIGhlaWdodDogODBweDtcclxuICB3aWR0aDogODBweDtcclxuICBtYXJnaW4tdG9wOiAyNXB4O1xyXG5cclxuICAmOmFjdGl2ZSwgXHJcbiAgJjp2aXNpdGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICB9XHJcblxyXG4gICY6aG92ZXIgXHJcbiAgIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5MztcclxuICB9XHJcbn1cclxuXHJcbi5idG5GaWx0ZXIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5idG5GaWx0ZXIgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IHNtYWxsO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ucGFnZS1pbnRybyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1zZWN0aW9uLWJnO1xyXG4gIHBhZGRpbmctdG9wOiAzNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7Ly8yMHB4O1xyXG4gID4gKjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG4gIC53eXNpd3lnID4gOmZpcnN0LWNoaWxke1xyXG4gICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgfVxyXG4gIC53eXNpd3lnID4gZGl2ICo6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTA1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDJweDtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgaDEge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7ICAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmb250LXNpemU6IGVtKDI2KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZm9udC1zaXplOiBlbSgyOCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICBmb250LXNpemU6IGVtKDMyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogZW0oNDIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuICAmLnNoYWxsb3cge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuLmhpZGRlbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC05OTk5ZW07XHJcbn1cclxuLnJvdW5kLWltZyB7XHJcbiAgQGluY2x1ZGUgcm91bmRlZF9jb3JuZXJzKDgwJSk7XHJcbn1cclxuLnJlc3AtaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLmFsaWduLWNlbnRlciB7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi8vRm91bmRhdGlvbiBvdmVycmlkZXNcclxuLmNvbnRlbnQtcGFnZSwgLnJvdy1zZWN0aW9uIHsgXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbiAgLnJvdyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9ICBcclxuICAgICYuZ2FsbGVyeS1pbmZvIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogOTgwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCBhdXRvIDgwcHggYXV0bztcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTI4MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDEyMHB4IGF1dG87XHJcbiAgICAgIH0gXHJcbiAgICAgIGFiYnIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0gXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTI3OXB4KSB7IFxyXG4gIC5sYXJnZS1jb2xsYXBzZSAuY29sdW1uLCBcclxuICAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbnMge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEludmVzdG9ycyBhcnRpY2xlIHBhZ2VzXHJcbiNtYWluIC5pbnZlc3RvcnMgeyBcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5OyBcclxuICAucGFnZS1pbnRybyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgIGgxIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAvL21hcmdpbi1cclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgICAgLnBhZ2UtaW50cm8ge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgIFxyXG4gICAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxMHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTsgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgIC8vYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDtcclxuICAgICAgLnBhZ2UtaW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleTY7IFxyXG4gIHRleHQtYWxpZ246ICBsZWZ0O1xyXG59XHJcblxyXG46LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gIHRleHQtYWxpZ246ICBsZWZ0O1xyXG59XHJcblxyXG46Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IFxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICB0ZXh0LWFsaWduOiAgbGVmdDtcclxufVxyXG5cclxuOjpwbGFjZWhvbGRlciB7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICB0ZXh0LWFsaWduOiAgbGVmdDtcclxufVxyXG5cclxuLnN1YnNjcmliZSB7XHJcbiAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk2OyBcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICA6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICA6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IFxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbi8vIHN0aWNreSBmb290ZXJcclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcbiAgaHRtbCwgYm9keSB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gICN3cmFwcGVyIHtcclxuICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAjbWFpbiB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTAwJTtcclxuICB9XHJcblxyXG5cclxufSovXHJcbiIsIiV1bHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbiVidXR0b24ge1xyXG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgcGFkZGluZzogMCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vcmFuZ2U7IC8vYWRkIGNvbG91ciBoZXJlXHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBmb250LXNpemU6IGVtKDE5KTsgLy8gYWRkIGVtIHdpZHRoIGhlcmVcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gIC8vQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDAuMnMpO1xyXG4gICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICAmOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG59IiwiLnVpLWRhdGVwaWNrZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0Ly9AaW5jbHVkZSBib3gtc2hhZG93KHJnYmEoMCwgMCwgMCwgMC41KSAwIDFweCAxcHggMCk7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdHotaW5kZXg6IDEwMDUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyAvL2FkZCBzYXNzIGNvbG91clxyXG5cdGhlaWdodDogNDBweDtcclxuXHRmb250LXNpemU6IGVtKDEzcHgpO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdGEge1xyXG5cdFx0d2lkdGg6IDM2cHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHQvL0BpbmNsdWRlIGltYWdlLXJlcGxhY2UoKTtcclxuXHRcdC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShiYWNrZ3JvdW5kLWNvbG9yKTtcclxuXHRcdC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwLjVzKTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2Y0ZjRmNCwgNSUpO1xyXG5cdFx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoYmFja2dyb3VuZC1jb2xvcik7XHJcblx0XHRcdC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwKTtcclxuXHRcdH1cclxuXHRcdCYudWktc3RhdGUtZGlzYWJsZWQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1wcmV2IHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xyXG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbnMvaWNvbi1hcnctbGZ0LXdodC5wbmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLW5leHQge1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XHJcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29ucy9pY29uLWFydy1yZ2h0LXdodC5wbmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbn1cclxuLy8gZGF0ZSAmIG1vbnRoIGRyb3AgZG93bnNcclxuLnVpLWRhdGVwaWNrZXItbW9udGgsIC51aS1kYXRlcGlja2VyLXllYXIge1xyXG5cdHdpZHRoOiA2NXB4O1xyXG5cdGhlaWdodDogMzBweDtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZTVlN2U4O1xyXG4gICAgcGFkZGluZzogMnB4IDIwcHggMnB4IDJweDtcclxuICAgIG1hcmdpbjogNXB4IDAgMCAwO1xyXG4gICAgZm9udC1mYW1pbHk6IFwic29sZWlsXCIsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7ICAgICAgICAgICAgLypSZW1vdmVzIGRlZmF1bHQgY2hyb21lIGFuZCBzYWZhcmkgc3R5bGUqL1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAgICAgICAgICAgICAvKiBSZW1vdmVzIERlZmF1bHQgRmlyZWZveCBzdHlsZSovXHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWcvaWNvbnMvaWNvbi0tdWktY2FsLWRvd24ucG5nKSBuby1yZXBlYXQ7ICAgICAgICAgIC8qQWRkcyBiYWNrZ3JvdW5kLWltYWdlKi9cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHg7ICAgICAgICAgICAvKlBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlKi9cclxuICAgIHRleHQtaW5kZW50OiAwLjAxcHg7ICAgICAgICAgIC8qIFJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xyXG4gICAgdGV4dC1vdmVyZmxvdzogXCJcIjsgICAgICAgICAgICAgICAvKlJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1x0XHRcdFxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1tb250aDo6LW1zLWV4cGFuZCwgLnVpLWRhdGVwaWNrZXIteWVhcjo6LW1zLWV4cGFuZCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4ubm8tY3NzY29sdW1ucyB7XHJcblx0LnVpLWRhdGVwaWNrZXItbW9udGgsIC51aS1kYXRlcGlja2VyLXllYXIge1xyXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdHBhZGRpbmc6IDVweDtcclxuXHR9XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItbW9udGgge1xyXG5cdG1hcmdpbi1yaWdodDogMTVweDtcclxufVxyXG5cclxuXHJcbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ly9ib3JkZXItYm90dG9tOiAycHggc29saWQgIzY2NjtcclxuXHRtYXJnaW46IDA7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0dGFibGUtbGF5b3V0OiBhdXRvO1xyXG5cdC8vQGluY2x1ZGUgYm94LXNoYWRvdyhyZ2JhKDAsIDAsIDAsIDAuMikgMCAycHggNXB4IDApO1xyXG5cdHRoZWFkIHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdH1cclxuXHR0Ym9keSB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG5cdH1cclxuXHR0aGVhZCB0cixcclxuXHR0Ym9keSB0ciB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1yb3c7XHJcblx0fVxyXG5cdHRoLFxyXG5cdHRkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7IC8vcmVwbGFjZSByZWRcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTNweCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0d2lkdGg6IDM1cHg7XHJcblx0XHRoZWlnaHQ6IDM1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdCYudWktZGF0ZXBpY2tlci10b2RheSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmNGY0ZjQ7IC8vYWRkIHNhc3MgY29sb3VyXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdHRoIHtcclxuXHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHR9XHJcblx0dGQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogI2RkZDsgLy9yZXBsYWNlIGdyZXlcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdFx0d2lkdGg6IDMycHg7XHJcblx0XHRcdGhlaWdodDogMzJweDtcclxuXHRcdFx0Ly9ib3JkZXI6IDJweCBzb2xpZCAkZ3JleS0tZGFyaztcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSB7XHJcblx0Y29sb3I6ICM5OTk7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktZGF0ZXBpY2tlci1vdGhlci1tb250aCB7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogIzk5OTtcclxuXHR9XHJcbn1cclxuXHJcbnRkLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xyXG5cdGEge1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzFjNjgwMjtcclxuXHR9XHJcbn0iLCIvKiBTbGlkZXIgKi9cclxuXHJcbi5zbGljay1zbGlkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xyXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnNsaWNrLWxpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYuZHJhZ2dpbmcge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBjdXJzb3I6IGhhbmQ7XHJcbiAgICB9XHJcbn1cclxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLnNsaWNrLXRyYWNrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIFtkaXI9XCJydGxcIl0gJiB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAmLmRyYWdnaW5nIGltZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1sb2FkaW5nICYge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stdmVydGljYWwgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxufVxyXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcclxuXHJcbiRzbGljay1mb250LXBhdGg6IFwiLi4vZm9udHMvXCIgIWRlZmF1bHQ7XHJcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xyXG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi4vaW1nL2ljb25zL1wiICFkZWZhdWx0O1xyXG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xyXG4kc2xpY2stZG90LWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5ICFkZWZhdWx0O1xyXG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJGNvbG9yLW9yYW5nZSAhZGVmYXVsdDtcclxuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIuKGkFwiICFkZWZhdWx0O1xyXG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwi4oaSXCIgIWRlZmF1bHQ7XHJcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIuKAolwiICFkZWZhdWx0O1xyXG4kc2xpY2stZG90LXNpemU6IDE1cHggIWRlZmF1bHQ7XHJcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XHJcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjc1ICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XHJcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xyXG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xyXG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xyXG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTbGlkZXIgKi9cclxuXHJcbi5zbGljay1saXN0IHtcclxuICAgIC5zbGljay1sb2FkaW5nICYge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBJY29ucyAqL1xyXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xyXG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XHJcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBBcnJvd3MgKi9cclxuXHJcbi5zbGljay1wcmV2LFxyXG4uc2xpY2stbmV4dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XHJcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xyXG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLXByZXYge1xyXG4gICAgbGVmdDogLTI1cHg7XHJcbiAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcclxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpY2stbmV4dCB7XHJcbiAgICByaWdodDogLTI1cHg7XHJcbiAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgIGxlZnQ6IC0yNXB4O1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcclxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBEb3RzICovXHJcblxyXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uc2xpY2stZG90cyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsImhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1zZWFyY2gtbWJsLWJnO1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiA5cHggMCAyMHB4IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAwIDA7IFxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAwIDA7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4OyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MjU2MHB4OyAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ28ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB3aWR0aDogMTA0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy93Zi1sb2dvLnN2ZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDoyOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjE1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTZweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuZ2xvYmFsLXNlYXJjaCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXNlYXJjaC1tYmwtYmc7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTdweCAwIDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWdlbmQsXHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC05OTk5OWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3JtLXJvdyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1zdHJva2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDVweCAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBlbSgyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LCAuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6I2VhZWFlYTsgLy8kY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsvLyRjb2xvci1ncmV5NTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5Oi41O1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjglO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXJnZXItYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDM0cHg7XHJcbiAgICAgICAgYm90dG9tOiAxNHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXJnZXItaWNvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1cmdlcigyNXB4LFxyXG4gICAgICAgICAgICAxcHgsXHJcbiAgICAgICAgICAgIDZweCxcclxuICAgICAgICAgICAgIzIyMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgLmJ1cmdlci1pY29uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1cmdlci10by1jcm9zcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuaGVhZGVyLmhvbWUge1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcbiAgICAvL21hcmdpbi1ib3R0b206MDtcclxuICAgIC5sb2dvIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICB9XHJcbiAgICAuYnVyZ2VyLWJ1dHRvbiB7XHJcbiAgICAgICAgYm90dG9tOjIwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogbm9uZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OjE2MHB4O1xyXG4gICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyAgICAgICAgICBcclxuICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNzVweDtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHsgICAgICAgICBcclxuICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDVweDtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEJ1cmdlciBwYXJ0c1xyXG4vL1xyXG4vLyAoLS0tKSB0b3AgICAgLT4gJjo6YmVmb3JlXHJcbi8vIFstLS1dIG1pZGRsZSAtPiAmXHJcbi8vICgtLS0pIGJvdHRvbSAtPiAmOjphZnRlclxyXG5cclxuXHJcbi8vIFZlbmRvciBwcmVmaXhlc1xyXG4kc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vIEJ1cmdlclxyXG5AbWl4aW4gYnVyZ2VyKCR3aWR0aDogMzBweCwgJGhlaWdodDogNXB4LCAkZ3V0dGVyOiAzcHgsICRjb2xvcjogIzAwMCwgJGJvcmRlci1yYWRpdXM6IDAsICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MpIHtcclxuICAgICRidXJnZXItaGVpZ2h0OiAkaGVpZ2h0ICFnbG9iYWw7XHJcbiAgICAkYnVyZ2VyLWd1dHRlcjogJGd1dHRlciAhZ2xvYmFsO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6ICRoZWlnaHQgKyAkZ3V0dGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGhlaWdodCArICRndXR0ZXI7XHJcblxyXG4gICAgQGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcclxuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIEBpZiAkYm9yZGVyLXJhZGl1cyAhPSAwIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC1tb3otdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtby10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcclxuXHJcbiAgICAgICAgQGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAtKCRoZWlnaHQgKyAkZ3V0dGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdG9wOiAkaGVpZ2h0ICsgJGd1dHRlcjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFNlbGVjdCBwYXJ0cyBvZiB0aGUgYnVyZ2VyXHJcbkBtaXhpbiBidXJnZXItcGFydHMge1xyXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXJnZXItdG9wIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXJnZXItbWlkZGxlIHtcclxuICAgICYge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnVyZ2VyLWJvdHRvbSB7XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBCdXJnZXIgYW5pbWF0aW9uc1xyXG5AbWl4aW4gYnVyZ2VyLXRvLWNyb3NzKCRjb2xvcjogYXV0bykge1xyXG4gICAgJiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRjb2xvciAhPSBhdXRvKSB7XHJcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gRk9SIFRFU1RJTkcgVEhFIE5BVlxyXG4vKlxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgbmF2IC5pbnZlc3RvcnMgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy93aWR0aDoxMDAlIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4qL1xyXG5cclxuLm5hdi13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYygxMDAlICsgMXB4KTtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogLTMyMHB4O1xyXG4gICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHJpZ2h0OiAtMzIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgJi5tYmwtYWN0aXZlIHtcclxuICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk5O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNb2JpbGUgVGFibGV0XHJcbm5hdiB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogNHB4IDMwcHggMzBweDtcclxuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5NDtcclxuICAgIH1cclxuICAgIC5nbG9iYWwsXHJcbiAgICAudXRpbCB7XHJcbiAgICAgICAgQGV4dGVuZCAldWw7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIGVtKDE4KSAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBIZXVyaXN0aWNhO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGdsb2JhbCBzdWIgbmF2aWdhdGlvblxyXG4gICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA2OyBcclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7ICAgXHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy9tb2JpbGUgdmVyc2lvbiBhY3RpdmVcclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOm5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5tZW51LXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTRweCAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBHbG9iYWwgbmF2aWdhdGlvbiBzdHlsZXMgb25seSBcclxuICAgIC5nbG9iYWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmLmludmVzdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiAucm93IC5jb2x1bW5zIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQ4MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLypcclxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgbmF2IHt9XHJcbn1cclxuKi9cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE1cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBtYWluIG5hdmlnYXRpb24gc2VjdGlvbnNcclxuICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ZW0oMTdweCk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbn1cclxuXHJcbi8vIERlc2t0b3AgbmF2aWdhdGlvbiBcclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIG5hdiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTM1cHg7XHJcbiAgICAgICAgLmdsb2JhbC1zdWIgPiAucm93IHtcclxuICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIG5lc3RlZCBuZXN0ZWQgbmF2XHJcbiAgICAgICAgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgZmxleDogMSBhdXRvO1xyXG4gICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYsXHJcbiAgICAgICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVudS10aXRsZSxcclxuICAgICAgICAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIG1haW4gbmF2aWdhdGlvbiBzZWN0aW9uc1xyXG4gICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMi41KTtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MsIGNvbG9yIC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC04cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFN1YiBuYXZpZ2F0aW9uICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87IC8vLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwNSU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQ1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdi1saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1pbnRybyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOjIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggJGNvbG9yLWdyZXk2IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMThweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4zMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1ncmVlbiwgNSUpOy8vJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDsvLyA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsvLzE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzLCBib3JkZXIgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggJGNvbG9yLWdyZXk2IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggJGNvbG9yLWdyZXk2IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbiwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICtsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gZ2xvYmFsIG5hdmlnYXRpb24gc3R5bGVzIG9ubHlcclxuICAgICAgICAuZ2xvYmFsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4sIFxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIGludmVzdG9yIG5hdmlnYXRpb24gc3R5bGVzXHJcbiAgICAgICAgICAgICAgICAmLmludmVzdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhyZWUgY29sdW1uIGludmVzdG9ycyBsaXN0XHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdi1saXN0LWludmVzdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gLnJvdzpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gLnJvdzpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6cm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuc3ViLXRpdGxlICsgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4sIFxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogM3B4OyAvLy8xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlLWxpbmsgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOTVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbnYtY2VudHJlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCAkaWNvbi1hcnJvdy1iaWctcmlnaHQsIDIycHgsICRjb2xvci1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1ncmVlbiwgNSUpOy8vJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lOy8vdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdXRpbCBvbmx5IG5hdmlnYXRpbyBzdHlsZXNcclxuICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuXHJcbiAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IDE4cHggMCAzM3B4IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdG9wOmNhbGMoMTAwJSArIDhweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAvL3dpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBubyBkcm9wZG93biAvIG1lZ2FtZW51XHJcbiAgICAgICAgICAgID4gbGkuZXhjIHtcclxuICAgICAgICAgICAgICAgIC8vIG5vIGdyZWVuIGxpbmVcclxuICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcblxyXG4gICAgLyogbmFzdHkgc3BlY2lmaWMgaGFjayAqL1xyXG4gICAgLmhvbWUge1xyXG4gICAgICAgIG5hdiB7XHJcbiAgICAgICAgICAgIC51dGlsLCBcclxuICAgICAgICAgICAgLmdsb2JhbCB7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCBcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLCBcclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbiwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgIG5hdiB7XHJcbiAgICAgICAgLmdsb2JhbCxcclxuICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgID4gbGkgeyAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMy41KTtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjYycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQzMHB4Oy8vMzcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCA0MzBweDsvLzM3MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBnbG9iYWwgb25seSBzdHlsZXNcclxuICAgICAgICAuZ2xvYmFsIHtcclxuICAgICAgICAgICAgPiBsaS5pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgPiBzcGFuLCBcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGdsb2JhbCBvbmx5IHN0eWxlc1xyXG4gICAgICAgIC5nbG9iYWwge1xyXG4gICAgICAgICAgICA+IGxpLmludmVzdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1pbnRybyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4sIFxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOjQ5MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6MSAwIDQ5MnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBzcGFuLFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMi41KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3ViIG5hdmlnYXRpb24gXHJcbm5hdiAuZ2xvYmFsLXN1YiB7XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1Yi10aXRsZSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMuNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDA7ICAgICAgICBcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjRzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgKyAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNHMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgID4gbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXMtYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS1ib2R5OyAvL2dyZWVuLWFuYztcclxuICAgICAgICAgICAgKyAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSGV1cmlzdGljYSc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgPiBhLFxyXG4gICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MzsgLy8tYW5jO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbmF2IC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDE5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBuYXYgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ5MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDk5OTlweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2xvYmFsLXN1Yi1pbnRybyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDEzLjUpO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgICAgICArIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGVtKDEyNzkpKSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5nbG9iYWwtc3ViIC5yb3cgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbnZlc3RvcnMgLnJvdyB7XHJcbiAgICAgICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRpcmVjdGlvbi1hcnJvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICA+IGxpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmdsb2JhbC1zdWIgLnN1Yi1uYXYge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkaXJlY3Rpb24tYXJyb3coMTQsICRjb2xvci1ncmV5LWJvZHkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgPiBhOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gTmF2aWdhdGlvbiBFbGVtZW50c1xyXG4uaW52LWNlbnRyZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAxMHB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMDBtcyBlYXNlLWluLW91dCk7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG5vbmUpO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAvLyBwYWRkaW5nOiA3cHggMCAwIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4ubWJsLWJhY2sge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcbiAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLW1ibC1iYWNrO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIHdmLWljb24gKCRpY29uLWxlZnQtb3Blbi1taW5pLCAxNnB4LCAkY29sb3ItZ3JleS1ib2R5KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICAgICAgd2lkdGg6IDlweDtcclxuICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWFycm93LWJhY2sucG5nJykgbm8tcmVwZWF0IDAgMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIGllIDExIGZpeFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDE5MDApKSB7XHJcbiAgICBuYXYgLmdsb2JhbCAuaW52ZXN0b3JzIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XHJcbiAgICB9XHJcbn0iLCIvLyBVcGRhdGVkIFN0eWxlcyBmb3IgTW9iaWxlIE5hdmlnYXRpb25cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDplbSgxMjc5KSkge1xyXG4gICAgLm5hdi13cmFwcGVyIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAwcHg7XHJcbiAgICB9XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5tZW51LXRpdGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMXB4IHNvbGlkICRjb2xvci1ncmV5NDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdsb2JhbCxcclxuICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtNXB4O1xyXG4gICAgICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC4zKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvL3VuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7IC8vJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjZweCAxNXB4IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTVweCA3LjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJisuY29sdW1ucyAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Yi1uYXYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLFxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDsgLy8kY29sb3ItZ3JleTM7ICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRlcnRpYXJ5IG5hdmlnaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaTpub3QoLnN1Yi1uYXYpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nbG9iYWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaS5pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmludi1jZW50cmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCAkaWNvbi1hcnJvdy1iaWctcmlnaHQsIDIycHgsICRjb2xvci1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JlZW4sIDEwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBoZWFkZXIsXHJcbiAgICBoZWFkZXIgLmNvbnRhaW5lciwgICAgXHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0OyBcclxuICAgIH1cclxuICAgIGhlYWRlciAuY29udGFpbmVyIHtcclxuICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgPiBsaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YixcclxuICAgICAgICAgICAgICAgID4gc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQ7IC8vIHNhZmFyaVxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQ7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNtYWluIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMjZweDtcclxuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICAuc3RpY2t5LWhlYWRlciB7IFxyXG4gICAgICAgICNtYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhlYWRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7XHJcbiAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExcHgpO1xyXG4gICAgICAgICAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMnB4KSBzY2FsZSguNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMXB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgICAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMXB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjaG9tZSB7XHJcbiAgICAgICAgI21haW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdGlja3ktaGVhZGVyIHtcclxuICAgICAgICAgICAgI21haW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOTRweCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KSBzY2FsZSguNzUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgICAgICAgICAgICAgIC51dGlsIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYTphZnRlciwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICNtYWluIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNTBweDtcclxuICAgIH1cclxuICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04MHB4KTtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpO1xyXG4gICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIsIFxyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNob21lIHtcclxuICAgICAgICAjbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4MnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0aWNreS1oZWFkZXIge1xyXG4gICAgICAgICAgICBoZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05N3B4KTtcclxuICAgICAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNXB4KSBzY2FsZSguNTUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yM3B4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgICAgICAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYTphZnRlciwgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBzdG9wcyB0cmFuc2l0aW9ucyBvbiBoZWFkZXIgYW5kIG5hdiBkdXJpbmcgYSByZXNpemUgZXZlbnRcclxuLnJlc2l6ZSB7XHJcbiAgICBoZWFkZXIsXHJcbiAgICBoZWFkZXIgLmNvbnRhaW5lcixcclxuICAgIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwtc3ViLFxyXG4gICAgLmxvZ28sXHJcbiAgICAjbWFpbixcclxuICAgIC5uYXYtd3JhcHBlciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIuY29udGVudC1uYXYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy9tYXJnaW46IDAgLTEuMjVyZW07XHJcbiAgICAubWJsLWJhY2sge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDoyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tYmwtY29udGVudC1uYXYge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAyMHB4IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCRpY29uLWRvd24tb3Blbi1iaWcsIDE0cHgsICRjb2xvci1ncmV5Myk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLXBsdXMucG5nJyluby1yZXBlYXQgMCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTBtcyBlYXNlLWluLW91dCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0tb3JpZ2luLCA1MCUgMzclIDApO1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGUoMTgwZGVnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJit1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjEwMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSArIHVsID4gbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgbWF4LWhlaWdodDowO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7Ly8yNnB4IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNC41KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDIwLCAxNyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUuNSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMjQsIDE4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgICYudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Oy8vMzVweDsgXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDMwLCAxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Oy8vMzVweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgxNSwgMTIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI3NnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudC1uYXYge1xyXG4gICAgJi5tb2JpbGUtbmF2IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICYuZGVza3RvcC1uYXYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICYubW9iaWxlLW5hdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGVza3RvcC1uYXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGNvbnRlbnQgZGVza3RvcCBcclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0Om5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI2cHggMjZweCAyNnB4IDA7XHJcbiAgICAgICAgICAgID4gbGkuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgPiAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZGlyZWN0aW9uLWFycm93ICgxNCwgJGNvbG9yLWdyZXkzKTtcclxuICAgICAgICAgICAgICAgICAgICAgIFx0bGluZS1oZWlnaHQ6MDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgZm9udC1zaXplOiBlbSgxNC41KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGE6aG92ZXIsIGE6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIGEge1xyXG5cdFx0XHRcdFx0XHRcdCB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1LjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy10b3A6MTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmhvdmVyLCBhOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVx0XHJcblx0XHQgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSBhIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0ICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaS5kcm9wZG93bi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICA+IC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBcdGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgXHRjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGUoMTgwZGVnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIGNvbnRlbnQgZGVza3RvcCBcclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG59XHJcbi8vIGNvbnRlbnQgZGVza3RvcCBcclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2IHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbn1cclxuXHJcblxyXG4iLCJAbWl4aW4gcHJlZml4KCRwcm9wZXJ0eTogbm9uZSwgJHZhbHVlOiBub25lKSB7XHJcbiAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxufSIsIi5oZXJvIHtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRpbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHRcdC5oZXJvLWNvcHkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggNDBweCAyMHB4OyBcclxuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDMwcHggNDBweCAzMHB4OyBcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChlbSg5MDEpKSB7IC8vIG9mZnNldCBicmVha3BvaW50XHJcblx0XHRcdFx0cGFkZGluZzogMDtcdFx0XHRcdFxyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0bGVmdDogMjBweDtcclxuXHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiAyOTBweDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0Pioge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0bGVmdDogNDBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRcdG1heC13aWR0aDogMzUwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHQvL2xlZnQ6IDQwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0bGVmdDogODBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRoMSB7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmVlbjtcclxuXHRcdFx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRmb250LXNpemU6IGVtKDIwKTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4xO1x0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA0OCU7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDI4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChlbSg5MDEpKSB7IFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTgpO1xyXG5cdFx0XHRcdFx0Ly9saW5lLWhlaWdodDogZW0oMzAsIDI2KTtcclxuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA4MCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDI4KTtcclxuXHRcdFx0XHRcdC8vbGluZS1oZWlnaHQ6IGVtKDMyLCAyOCk7XHJcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0c3Ryb25nIHtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTcpO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBlbSgyNCwgMTcpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ4JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChlbSg5MDEpKSB7IC8vIG9mZnNldCBicmVha3BvaW50XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDc1JTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTYpO1xyXG5cdFx0XHRcdFx0Ly9mb250LXNpemU6IGVtKDI2KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRmb250LXNpemU6IGVtKDE3KTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogZW0oMjQsIDE3KTtcclxuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA4MCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDIwKTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBlbSgzMCwgMjApO1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLy9yZW1vdmUgSU9TIHJvdW5kZWQgY29ybmVyIG1lc3NcclxuaW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBpbnB1dFt0eXBlPSdkYXRlJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIGlucHV0W3R5cGU9J21vbnRoJ10sIGlucHV0W3R5cGU9J3dlZWsnXSwgaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0nbnVtYmVyJ10sIGlucHV0W3R5cGU9J3NlYXJjaCddLCBpbnB1dFt0eXBlPSd0ZWwnXSwgaW5wdXRbdHlwZT0ndGltZSddLCBpbnB1dFt0eXBlPSd1cmwnXSwgaW5wdXRbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XHJcbn1cclxuZmllbGRzZXQge1xyXG5cdGxlZ2VuZCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAtOTk5OWVtO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvbGQnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6ZW0oMSk7XHJcblx0fVxyXG5cdC5mb3JtLXJvdyB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0fVxyXG5cdGxhYmVsIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb2xkJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0XHRsZXR0ZXItc3BhY2luZzplbSgxKTtcclxuXHR9XHJcblx0c2VsZWN0IHtcclxuXHQgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdCAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XHJcblx0ICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcclxuXHQgICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHQgICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG5cdCAgICBwYWRkaW5nOiA4cHggMzBweCAxMHB4IDEwcHg7XHJcblx0ICAgIG1hcmdpbjogMDtcclxuXHQgICAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHQgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHQgICAgZm9udC1zaXplOiBlbSgxNik7XHJcblx0ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgICAgICAgICAgICAvKlJlbW92ZXMgZGVmYXVsdCBjaHJvbWUgYW5kIHNhZmFyaSBzdHlsZSovXHJcblx0ICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgICAgICAgICAgICAgLyogUmVtb3ZlcyBEZWZhdWx0IEZpcmVmb3ggc3R5bGUqL1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWcvaWNvbnMvaWNvbi1kZC1hcnJvdy5wbmcpIG5vLXJlcGVhdDsgICAgICAgICAgLypBZGRzIGJhY2tncm91bmQtaW1hZ2UqL1xyXG5cdCAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxN3B4OyAgICAgICAgICAgLypQb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSovXHJcblx0ICAgIHRleHQtaW5kZW50OiAwLjAxcHg7ICAgICAgICAgIC8qIFJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xyXG5cdCAgICB0ZXh0LW92ZXJmbG93OiBcIlwiOyAgICAgICAgICAgICAgIC8qUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXHJcblx0ICAgIGhlaWdodDogNDBweDtcclxuXHQgICAgbWluLXdpZHRoOiAwO1xyXG5cdCAgICAmOmZvY3VzIHtcclxuXHRcdFx0b3V0bGluZTogbm9uZTsvL1xyXG5cdFx0XHRib3JkZXItYm90dG9tOnNvbGlkIDFweCAjZmZmOy8vJGNvbG9yLWdyZWVuOyBcclxuXHQgICAgfVxyXG5cdH1cclxuXHRzZWxlY3Q6Oi1tcy1leHBhbmQgeyAvKmllMTEgZ2V0IHJpZCBvZiBkZWZhdWx0IGRkIGFycm93Ki9cclxuXHQgICAgZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0aW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBpbnB1dFt0eXBlPSdkYXRlJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIGlucHV0W3R5cGU9J21vbnRoJ10sIGlucHV0W3R5cGU9J3dlZWsnXSwgaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0nbnVtYmVyJ10sIGlucHV0W3R5cGU9J3NlYXJjaCddLCBpbnB1dFt0eXBlPSd0ZWwnXSwgaW5wdXRbdHlwZT0ndGltZSddLCBpbnB1dFt0eXBlPSd1cmwnXSwgaW5wdXRbdHlwZT0nY29sb3InXSwgdGV4dGFyZWF7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHQgICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHQgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xyXG5cdCAgICBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0ICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcblx0ICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblx0ICAgIG1hcmdpbjogMDtcclxuXHQgICAgcGFkZGluZzogMTBweDtcclxuXHQgICAgbGV0dGVyLXNwYWNpbmc6ZW0oMSk7XHJcblx0ICAgICY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHQvL291dGxpbmU6IHNvbGlkIDFweCAkY29sb3ItZ3JlZW47XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0ICAgIH1cclxuXHR9XHJcblx0Ly8gcmVtb3ZlIGJvdHRvbSBtYXJnaW4gZm9yIGxhc3QgaXRlbSBpbiB0aGUgZm9ybVxyXG5cdD4qOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHQuc2VhcmNoLWlucHV0IHtcclxuXHRcdGlucHV0W3R5cGU9J3RleHQnXSB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRtYXJnaW46IDAgMTVweCAwIDA7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSA2NnB4KTtcclxuXHRcdH1cclxuXHRcdC5idG4ge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLW9yYW5nZSB1cmwoJy4uL2ltZy9pY29ucy9pY29uLXNlYXJjaC5wbmcnKW5vLXJlcGVhdCAxNXB4IDlweDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdpZHRoOiA1MXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdHRleHQtaW5kZW50OiA5OTk5ZW07XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VhcmNoLWZpbHRlcnMge1xyXG5cdFx0bGVnZW5kIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgyNCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRcdH1cclxuXHRcdHNlbGVjdCB7XHJcblx0XHRcdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0d2lkdGg6IDIwMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMCAxNXB4IDAgMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmJ0biB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaG9yLWZpbHRlciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRsZWdlbmQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bGVmdDogYXV0bztcclxuXHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0Zm9udC1zaXplOiBlbSgyNCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bWFyZ2luOiAwIDAgMTBweCAwO1x0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0LmZpZWxkcyB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuOyAvKiBDcmVhdGVzIGEgbmV3IGJsb2NrIGZvcm1hdCBjb250ZXh0LCB3aGljaCB3aWxsIG1ha2UgdGhpcyB0YWcgZmlsbCB0aGUgcmVtYWluaW5nIHdpZHRoICovXHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHR9XHJcblx0LmZpZWxkLWdyb3VwLCAgLmZpZWxkLWdyb3VwLXdpZGUge1xyXG5cdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDE1cHggMCAwO1xyXG5cdFx0XHR3aWR0aDogMjgycHg7XHJcblx0XHR9XHJcblx0XHRzZWxlY3Qge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHQvL3dpZHRoOiAyMThweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IC05OTk5ZW07XHJcblx0XHR9XHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHR9XHJcblx0XHQmLXdpZGUge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDE1cHggMCAwO1xyXG5cdFx0XHRcdHdpZHRoOiA4NDZweDtcclxuXHRcdFx0fVx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuaGlkZS1sZWdlbmQge1xyXG5cdFx0bGVnZW5kIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiAtOTk5OWVtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc2ltcGxlLXNlbGVjdCB7XHJcblx0bGFiZWwge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxNik7XHJcblx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE5KTtcclxuXHRcdH1cclxuXHR9XHJcblx0c2VsZWN0IHtcclxuXHRcdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0bWFyZ2luOiAwIDEwcHggMCAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubm8tY3NzY29sdW1ucyBzZWxlY3Qge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0cGFkZGluZy1yaWdodDogMTBweDtcclxufSIsIi5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgZGl2Lnd5c2l3eWctaW5uZXIgPiAqOmZpcnN0LWNoaWxkLFxyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAvLyBtYXJnaW4gb24gZmlyc3QgZWxlbWVudFxyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyAvLzMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgLy8zMHB4OyBcclxuICAgICAgICBkaXYud3lzaXd5Zy1pbm5lciA+ICo6Zmlyc3QtY2hpbGQsXHJcbiAgICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgLy8gbWFyZ2luIG9uIGZpcnN0IGVsZW1lbnRcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xyXG4gICAgICAgIGRpdi53eXNpd3lnLWlubmVyID4gaDI6Zmlyc3QtY2hpbGQsIFxyXG4gICAgICAgID4gaDI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4gb24gZmlyc3QgZWxlbWVudFxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICBzdHJvbmcsIGIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBociB7IFxyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDQsXHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICBzdXAsXHJcbiAgICBzdWIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTUsIDE5KTtcclxuICAgICAgICBwYWRkaW5nOiAwIDNweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweCAyNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIuKAoiBcIjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDIwcHg7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAxNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDAgMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxpc3Qtc3RhY2tlZCB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogNDBweDtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdHVsLCBvbCB7XHJcblx0XHRcdCAgICAtbW96LWNvbHVtbi1nYXA6IDYwcHg7XHJcblx0ICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xyXG5cdCAgICAgICAgICAgIGNvbHVtbi1nYXA6IDYwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG4gICAgfVxyXG4gICAgLy8gU21hbGwgdGV4dCBcclxuICAgIHNtYWxsIHtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgfVxyXG4gICAgLy8gTGVhZCBwYXJhZ3JhcGggaW4gYXJ0aWNsZVxyXG4gICAgLmxlYWQge1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxOCk7IFxyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdCAgICAubGVhZCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMjApO1xyXG5cdCAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgLmxlYWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHh4bGFyZ2UpIHtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTgpO1xyXG5cdFx0aDI6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6NnB4O1xyXG5cdFx0fVxyXG5cdFx0aDMge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xyXG5cdFx0fVxyXG5cdFx0dWwsIG9sIHtcclxuXHRcdCAgICAtbW96LWNvbHVtbi1nYXA6IDYwcHg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogNjBweDtcclxuICAgICAgICAgICAgY29sdW1uLWdhcDogNjBweDtcclxuXHRcdH1cclxuXHRcdGJsb2NrcXVvdGUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cdFx0XHRtYXgtd2lkdGg6NzUlO1xyXG5cdFx0fVxyXG5cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qIFBsdWdpbiBzdHlsZXMgKi9cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQuaGlkZGVue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZWQgIWltcG9ydGFudDsgLy8gPz8/XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLnB1bGwtbGVmdHtcclxuICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLnB1bGwtcmlnaHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG9cXDk7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXI6IDA7ICBcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5hdHRhY2htZW50IHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xyXG59XHJcblxyXG4vKiBMaW5rIHN0eWxlcyAqL1xyXG4uc29jaWFsLWZlZWQtZWxlbWVudCBhIHtcclxuICAgIGNvbG9yOiAjMDA4OGNjO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMztcclxuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGE6aG92ZXIsXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGE6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBjb2xvcjogIzAwNTU4MDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4vKiBUZXh0IHN0eWxlcyAqL1xyXG4uc29jaWFsLWZlZWQtZWxlbWVudCBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDg1JTtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgZW0ge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IHAge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAubWVkaWEtYm9keSA+IHB7XHJcbiAgICBtYXJnaW4tYm90dG9tOjRweDtcclxuICAgIG1pbi1oZWlnaHQ6MjBweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCBwLnNvY2lhbC1mZWVkLXRleHQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLyogTWVzc2FnZSBzdHlsZXMgKi9cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQsXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6b29tOiAxO1xyXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5IC5zb2NpYWwtbmV0d29yay1pY29ue1xyXG4gICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIG1hcmdpbi1yaWdodDo1cHg7XHJcbiAgICB3aWR0aDoxNnB4O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5IGRpdntcclxuICAgIGNvbG9yOiM2NjY7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudDpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1vYmplY3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDo0OHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1saXN0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm11dGVkIHtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGEubXV0ZWQ6aG92ZXIsXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGEubXV0ZWQ6Zm9jdXMge1xyXG4gICAgY29sb3I6ICM4MDgwODA7XHJcbn1cclxuXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50e1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjI1cztcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgbWFyZ2luOi0xcHg7XHJcbiAgICBtYXJnaW4tdG9wOjI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQ6aG92ZXJ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTAsIDEwLCAxMCwgMC40KTtcclxufVxyXG5cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLmNvbnRlbnR7XHJcbiAgICBwYWRkaW5nOjE1cHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLnNvY2lhbC1uZXR3b3JrLWljb257XHJcbiAgICBvcGFjaXR5OjAuNztcclxufVxyXG5cclxuXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5hdXRob3ItdGl0bGV7XHJcbiAgICBjb2xvcjogIzQ0NDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7ICBcclxufVxyXG4udHdpdHRlci1mZWVkIHtcclxuICAgIG1hcmdpbi1ib3R0b206NDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9ICAgIFxyXG4gICAgaDIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6J0AnO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbigkaWNvbi10d2l0dGVyLCAxN3B4LCAkY29sb3ItZ3JleS1ib2R5KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6MnB4O1xyXG4gICAgICAgICAgICBsZWZ0OjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udHdpdHRlci1mZWVkLWVsZW1lbnQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRjb2xvci1ncmVlbjtcclxuICAgIC5tZWRpYS1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIC5kYXRlLXRpbWUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIsIFxyXG4gICAgICAgICY6Zm9jdXMsIFxyXG4gICAgICAgICY6YWN0aXZlLCBcclxuICAgICAgICAmOnZpc2l0ZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCBcclxuICAgICY6Zm9jdXMsIFxyXG4gICAgJjphY3RpdmUsIFxyXG4gICAgJjp2aXNpdGVkIHsgXHJcbiAgICAgICAgY29sb3I6ICMwMDA7IFxyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH0gXHJcbn1cclxuXHJcbi53eXNpd3lnIHtcclxuICAgIC50d2l0dGVyLWZlZWQgPiBhIHsgXHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cywgXHJcbiAgICAgICAgJjphY3RpdmUsIFxyXG4gICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTAyNCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAudHdpdHRlci1mZWVkcyB7XHJcbiAgICAgICAgLnd5c2l3eWcge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4gICAgICAgICBcclxuXHJcbiIsIi5yZWxhdGVkLWNvbnRlbnQge1xyXG5cdFxyXG5cdEBtZWRpYSAobWF4LXdpZHRoOmVtKDEyNzkpICkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlIWltcG9ydGFudDtcdFxyXG5cdH0gXHJcblxyXG5cdG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ly93aWR0aDogY2FsYygxMDAlIC0gNDBweCk7IFxyXG5cdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXHJcblx0XHRtaW4td2lkdGg6IDEwMCU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDAgMTAwcHggNTBweDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxyXG5cdFx0d2lkdGg6IGVtKDI0MHB4KTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHQvL3Bvc2l0aW9uOiBpbmhlcml0IWltcG9ydGFudDsgXHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1pbi13aWR0aDogMjQwcHghaW1wb3J0YW50O1xyXG5cdFx0cmlnaHQ6IDAhaW1wb3J0YW50O1xyXG5cdFx0bGVmdDogYXV0byFpbXBvcnRhbnQ7IC8vIGhhZCB0byBvdmVycmlkZSBmb3VuZGF0aW9uIHN0aWNreSBiZWhhdmlvdXJcclxuXHR9XHJcblxyXG5cclxuXHRoMiB7XHJcblx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxMik7XHJcblx0XHRsaW5lLWhlaWdodDogZW0oMTUsIDEyKTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5MzsvLy8kY29sb3ItY29udGVudC1uYXYtaG92ZXI7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGNvbG9yLWdyZXk2Oy8vJGNvbG9yLWdyZXktcmVsYXRlZC1zdHJva2U7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCA0MHB4IDA7XHJcblx0XHRcdG1hcmdpbi10b3A6MTJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0dWwge1xyXG5cdFx0QGV4dGVuZCAldWw7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nOiAwIDAgMzBweCAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdHJpcGVzLWdyZWVuKCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNnB4IGF1dG87XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogLTEwJTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6Ljc1O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06c2tld1goMTVkZWcpO1xyXG5cclxuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbToxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcblx0XHQvL0BpbmNsdWRlIHN0cmlwZXMtZ3JlZW4oKTtcclxuXHRcdC8vYmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IGJvdHRvbTtcclxuXHRcdFxyXG5cdFx0Ly9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9yZWxhdGVkLWJnLnBuZycpcmVwZWF0LXggbGVmdCBib3R0b207XHJcblxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE0LjUpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogZW0oMTYsIDE0KTtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IGVtKC4zKTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvci1ncmV5NjsgLy8kY29sb3ItZ3JlZW47XHJcblx0XHRcdHBhZGRpbmc6IDVweCAwIDE1cHggMDsgXHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGZsb2F0OiBub25lO1x0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcdFxyXG5cdFx0XHRcdHdpZHRoOiAzMy4zMyU7XHRcdFx0XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5MzsgLy8kY29sb3ItZ3JlZW47XHJcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgZWFzZS1pbi1vdXQpO1xyXG5cdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDZweDtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDEyLCAxNSk7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogZW0oMTYsIDEyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0JjpudGgtY2hpbGQoM24rNCkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRjbGVhcjogbGVmdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRhIHNwYW4ge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCJmb290ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktYm9keTtcclxuICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNTYwcHg7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDk0NXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53eXNpd3lnID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuYXYge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAldWw7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZnRyLWdsb2JhbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDMwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogODBweCAwIDUwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKDEpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC00MnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tZm9vdGVyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC4xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICsgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNWY2MTYxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHVsID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IC8vIGVtKDQwKTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWZ0ci1zdHJva2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAkY29sb3ItZ3JleS1mdHItc3Ryb2tlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdWwgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNTJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mdHItdXRpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIuNSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIGVtKDEwKSAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIGVtKDMwKSAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyAvLyRjb2xvci1ncmVlbi1iZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZ0ci11dGlsLXdyYXBwZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIC5mdHItc29jaWFsIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAldWw7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICYuZnRyLXR3dHIsXHJcbiAgICAgICAgICAgICAgICAgICAgJi5mdHItdmltLFxyXG4gICAgICAgICAgICAgICAgICAgICYuZnRyLWxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCcnLCAxOXB4LCAkY29sb3ItZ3JleTMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuZnRyLXR3dHI6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi10d2l0dGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmZ0ci12aW06YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aW1lbztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5mdHItbGk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rZWRpbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZnRyLW5hdi13cmFwcGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk0NXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZnRyLXN0b2NrIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXk1O1xyXG4gICAgICAgIEBpbmNsdWRlIHJvdW5kZWRfY29ybmVycyg4MCUpO1xyXG4gICAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgICBoZWlnaHQ6IDE0NXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByb3VuZGVkX2Nvcm5lcnMoMCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mdHItc3RvY2stcHJpY2Uge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSg0MCwgMzApO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZnRyLXN0b2NrLWluZGV4IHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICBsZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5NTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcm91bmRlZF9jb3JuZXJzKDgwJSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RpY2t5IEZvb3RlclxyXG4vKlxyXG4ucHVzaCB7XHJcbiAgICBkaXNwbGF5OiBub25lOyAgICBcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIGh0bWwsIGJvZHkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgICN3cmFwcGVyIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0yMTVweDtcclxuICAgIH1cclxuICAgIC5wdXNoIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDIxNXB4O1xyXG4gICAgfVxyXG59XHJcbiovXHJcbiIsIi8vIHVuaXF1ZSBzdHlsZXMgZm9yIGhvbWUgcGFnZVxyXG4vLyBBbHNvIGFkanVzdHMgaG9tZSBwYWdlIGlmIHNjcmVlbiBpcyBiZWxvdyAxMDI0cHhcclxuI2hvbWUgI21haW4ge1xyXG5cclxuICAgIHNlY3Rpb24uc3BhY2VkIHtcclxuICAgIFx0dHJhbnNpdGlvbjptYXJnaW4gLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgXHRtYXgtd2lkdGg6bm9uZTtcclxuICAgIH1cclxuICAgIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xyXG4gICAgXHR0cmFuc2l0aW9uOnBhZGRpbmcgLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcbiAgICAgICAgc2VjdGlvbi5zcGFjZWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgICAgIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHh4bGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6MjU2MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbiNob21lIC50d2l0dGVyLWZlZWRzIHtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOjgwJTtcclxuICAgICAgICA+IC5yb3cge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDo4MCU7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDo3NSU7XHJcbiAgICAgICAgPiAucm93IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHh4bGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDo1MCU7XHJcbiAgICAgICAgPiAucm93IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOmVtKDEyODApKSBhbmQgKG1heC1oZWlnaHQ6ZW0oMTAyNCkpIHtcclxuICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikge1xyXG4gICAgICAgIC5ob21lIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICA+IC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpO1xyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTNweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbCxcclxuICAgICAgICAgICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYTphZnRlciwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI21haW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDFweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2hvbWUgI21haW4ge1xyXG4gICAgICAgIHNlY3Rpb24uc3BhY2VkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VjdGlvbi5ncmV5LnBhbmVscyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTQ0MCkpIGFuZCAobWF4LWhlaWdodDplbSgxMDI0KSkge1xyXG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSB7XHJcbiAgICAgICAgLmhvbWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgICAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmFmdGVyLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzM3B4IWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjaG9tZSAjbWFpbiB7XHJcbiAgICAgICAgc2VjdGlvbi5zcGFjZWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWN0aW9uLmdyZXkucGFuZWxzIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxOTIwKSkgYW5kIChtYXgtaGVpZ2h0OmVtKDEyMDApKSB7XHJcbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIHtcclxuICAgICAgICAuaG9tZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNtYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTMzcHghaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNob21lICNtYWluIHtcclxuICAgICAgICBzZWN0aW9uLnNwYWNlZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcbi50YWJsZSB7XHJcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyBcclxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBvdmVyZmxvdy14OiBpbmhlcml0O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG9cclxuICAgIH0gICBcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgdGFibGUtbGF5b3V0OiBhdXRvO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIH1cclxuXHJcbiAgICB0Ym9keSwgdGhlYWQgeyBcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICAgPiB0cjpudGgtY2hpbGQob2RkKTpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkIHsgXHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCAkY29sb3ItZ3JleS13aGl0ZTtcclxuXHJcbiAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAxMHB4IDEwcHggMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7IFxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgXHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIH0gICBcclxuICAgIH1cclxuXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxN3B4IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHRcclxuXHQmOmFmdGVye1xyXG5cdFx0Y29udGVudDpcIlwiO1xyXG5cdFx0aGVpZ2h0OiAxMnB4O1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59IiwiIC5ob21lLW5ld3MtbGlzdCB7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgaDIge1xyXG4gICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgpOyAvLyAgc2VlIG1peGluZ1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMjAsIDE2KTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMDBtcyBlYXNlLWluLW91dCk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBmbGV4OiAzOCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzOCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxleDogNTguMzMzMzMlO1xyXG4gICAgICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzAsIDIyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgZmxleDogNjAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChlbSgxNjAwKSkge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgIGZsZXg6IDY1JTtcclxuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmV3cy1saXN0LXBhZ2UgeyBcclxuICAgIGg1IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogZW0oMzBweCk7IFxyXG4gICAgfSBcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IGVtKDEwcHgpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBlbSgyNXB4KTsgXHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgfVxyXG59IiwiLnNoYXJlLXByb21vIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMzYwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMzAlO1xyXG4gICAgICAgIGZsZXg6IDQwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDM1JTtcclxuICAgICAgICBmbGV4OiAzNSU7XHJcbiAgICB9XHJcblxyXG4gICAgLnd5c2l3eWcge1xyXG4gICAgICAgIC5pbnZlc3Rvci1idG4sIFxyXG4gICAgICAgIC5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgJjpob3ZlciwgXHJcbiAgICAgICAgICAgICY6Zm9jdXMsIFxyXG4gICAgICAgICAgICAmOmFjdGl2ZSwgXHJcbiAgICAgICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmludmVzdG9yLWJ0biB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcm91bmRlZF9jb3JuZXJzKDgwJSk7XHJcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoYmFja2dyb3VuZC1jb2xvciAuM3MpO1xyXG4gICAgICAgIGRpdiwgZGl2IHNwYW4ge1xyXG4gICAgICAgIFx0QGluY2x1ZGUgdHJhbnNpdGlvbiAoY29sb3IgLjNzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRkaXYge1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmVlbjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuICAgICAgICB9XHJcblx0XHRcclxuICAgICAgICBkaXYge1xyXG5cclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEl0YWxpY1wiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJweCAwO1xyXG4gICAgICAgICAgICAgICAgLy9mb250LXN0eWxlOiBJdGFsaWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE1NXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTU1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOTVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDE5NXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvKlxyXG5cdC5sYXRlc3QtbmV3cyB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cdFx0aDIge1xyXG5cdFx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDEzKTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IC45O1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogZW0oMik7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcblx0XHR9XHJcblx0fVxyXG5cdCovXHJcbiAgICAuc2hhcmUtcHJpY2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgpOyAvLyBzZWUgbWl4aW5nc1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay11cGRhdGVkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2LjI1JTtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIC5zdG9jay11cGRhdGVkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMy4zMzMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBvbmx5IGhvdmUgaWYgbGlua1xyXG4gICAgYS5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgLnN0b2NrLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLWluZGV4ICoge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpub25lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBoMixcclxuICAgICAgICAgICAgICAgIHNwYW4sXHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOmVtKDEwMjQpKSBhbmQgKG1heC13aWR0aDplbSgxMjc5KSkge1xyXG4gICAgICBhcnRpY2xlIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnN0b2NrLXByaWNlIHtcclxuXHRcclxuXHRzcGFuIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHJcblx0XHRmb250LXNpemU6IGVtKDMwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG5cdFx0cGFkZGluZzogMCAxMHB4IDVweCAxMHB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgN3B4ICRjb2xvci1ncmVlbjtcdFxyXG5cdFx0Ly9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtN3B4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSg0NSk7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMzgpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSg0Mik7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSg1NCk7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblxyXG5cdH1cclxufVxyXG4uc3RvY2std3JhcHBlciB7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgN3B4ICRjb2xvci1ncmVlbjtcdFxyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5zdG9jay1pbmRleCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGxlZnQ6NTAlO1xyXG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1x0XHJcblx0Ly9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWFycm93LXVwLnBuZycpbm8tcmVwZWF0IDE1cHggMTBweDtcclxuXHRwYWRkaW5nOiAxMHB4IDAgMTBweCAwOyBcclxuXHQ+IGkge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6MjBweDtcclxuXHRcdGhlaWdodDoyMHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdH1cclxuXHQvKlxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24tYXJyb3ctdXAsIDEzcHgsICRjb2xvci1ncmV5LWJvZHkpOyAvLyRpY29uLWFycm93LWRvd25cclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDowO1xyXG5cdFx0dG9wOjUwJTtcclxuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSAodHJhbnNsYXRlWSgtNTAlKSk7XHJcblx0XHR3aWR0aDoyMHB4O1xyXG5cdFx0aGVpZ2h0OjEycHg7XHRcdFxyXG5cdH1cclxuXHQqL1xyXG5cdD4gc3BhbiB7XHJcblx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcblx0XHRcdGJvcmRlci1yaWdodDogc29saWQgMXB4ICRjb2xvci1ncmVlbjtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTYpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTkpO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcbn1cclxuLnN0b2NrLXVwZGF0ZWQge1xyXG5cdGZvbnQtc2l6ZTogZW0oMTApO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIEJvb2tcIjtcclxuXHRjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG5cdHN0cm9uZyB7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHRjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuXHRcdC8vdGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IGVtKDExKTtcclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxMik7XHJcblx0fVxyXG59IiwiIC5wYW5lbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyBcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIDIwMG1zIGVhc2Utb3V0KTsgXHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBlbSgzMDBweCk7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXJnaW46IDAgLTIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2UsXHJcbiAgICAgICAgLmltYWdlOmJlZm9yZSxcclxuICAgICAgICAuaW1hZ2U6YWZ0ZXIsXHJcbiAgICAgICAgLmltYWdlID4gaW1nIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLCAudmlkZW8tcGxheSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMDIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDsgLy8wIDAgMTBweCAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMjYsIDIwKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGgyLCBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyAvLyRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlLCAudmlkZW8tcGxheSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjMzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMzMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gb3BhY2l0eTouMjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaDIsXHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKi9cclxuICAgICAgICB9XHJcbiAgICAgICAgJi52aWRlby1wbGF5IHtcclxuICAgICAgICAgICAgLy8gY2VudGVyZWQgZ3JlZW4gdmlkZW8gaWNvbiAoY3VzdG9tIG1peGluPylcclxuICAgICAgICAgICAgLnZpZGVvLWljb24ge1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAtKDQ1cHggLyA0KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWdyZWVuLCAuODUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbigkaWNvbi1yaWdodC1kaXIsIDMwcHgsICNmZmYpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MyU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLnZpZGVvLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsvLyRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb3B5IHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgLy8gPiBoMiB7XHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEsIGEgcCwgYTpob3ZlciBwLCBhOmZvY3VzIHAge1xyXG4gICAgICAgIHRyYW5zaXRpb246bm9uZTsgICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4ubGVhZGVyc2hpcC1wYW5lbCB7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29weSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gc3BsaXQgcGFuZWwgb3ZlcnJpZGVzXHJcbi5zcGxpdC1jb3B5LXBhbmVscyB7XHJcbiAgICAucGFuZWwge1xyXG4gICAgICAgIC5jb3B5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xyXG4gICAgICAgICAgICAgICAgLy9mb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ5JTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDguNSU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNzRweDtcclxuICAgICAgICAgICAgICAgICAgICAvL292ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgbXVsdGlsaW5lLWVsbGlwc2lzICg3NHB4LCAyNHB4LCA0OSUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlbGF0ZWQtcGFuZWxzIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5yZWxhdGVkLXBhbmVsIHtcclxuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCA3cHggJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQsIDE3KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYSBJdGFsaWNcIjtcclxuICAgICAgICAgICAgLy9mb250LXN0eWxlOiBJdGFsaWM7XHJcbiAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgLmZlYXR1cmVkIHtcclxuICAgICAgICA+IC5yb3cge1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xyXG4gICAgICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gb25seSBkYXJrZW4gb24gaG92ZXIgaWYgdGhpcyBjbGFzcyAoLmdyZXkpIGlzIGluY2x1ZGVkXHJcbi5ncmV5IC5wYW5lbCBhIHtcclxuICAgIC5pbWFnZSxcclxuICAgIC52aWRlby1wbGF5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIG9yIGV4Y2x1ZGUgdGhlIGdyZXkgaG92ZXIgb24gaW5kaXZpZHVhbCBwYW5lbHMgXHJcbi5wYW5lbC5leGMtZ3JleSBhIHtcclxuICAgIC5pbWFnZSxcclxuICAgIC52aWRlby1wbGF5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxufSIsIi8vIGh0dHA6Ly9waGlsaXB3YWx0b24uY29tL2FydGljbGVzL25vcm1hbGl6aW5nLWNyb3NzLWJyb3dzZXItZmxleGJveC1idWdzL1xyXG4vLyBFeHRlbmFibGUgc3R5bGVzXHJcbiVtYWluLXRpdGxlLXN0eWxlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICBsaW5lLWhlaWdodDogLjk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgLy9lbSguNik7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7IFxyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLy8gbGF5b3V0XHJcbi5pbnZlc3Rvci1jZW50cmUge1xyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ncmlkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgtZmxvdywgcm93IHdyYXApO1xyXG4gICAgICAgICAgICA+IC5zaGFyZS1wcm9tbyxcclxuICAgICAgICAgICAgPiAuZGVidC1pbnZlc3RvcnMsICAgICAgICBcclxuICAgICAgICAgICAgPiAubmV3cy1saXN0IHsgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAxIDEwMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLnRpbGUtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAxIDUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeChmbGV4LWZsb3csIHJvdyk7XHJcbiAgICAgICAgICAgID4gLnNoYXJlLXByb21vIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeChmbGV4LCAxIDIwJSk7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC50aWxlLWxpbmtzIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeChmbGV4LCAwIDM4JSk7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC5kZWJ0LWludmVzdG9ycyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1NXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4JTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQ2cHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLm5ld3MtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDI4NnB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0NnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1NXB4IDU1cHggMCA1NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gaW52ZXN0b3IgY2VudHJlIHRlbXBsYXRlXHJcbiNpbnZlc3Rvci1jZW50cmUge1xyXG4gICAgI21haW4ge1xyXG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnJvdyxcclxuICAgICAgICAuaW52ZXN0b3JzIC5yb3cge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGVtKDE2MDApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICB9XHJcbiAgICAjbWFpbiAuaW52ZXN0b3JzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLzgwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgLnBhZ2UtaW50cm8ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnZlc3Rvci1jZW50cmUge1xyXG4gICAgLy8gc2hhcmUgcHJpY2VcclxuICAgIC5zaGFyZS1wcm9tbyB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAuc3RvY2stcHJpY2UgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC45O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNoYXJlLXByaWNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwOyAvLyAyMHB4O1xyXG4gICAgICAgICAgICAuc3RvY2stcHJpY2UgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLWluZGV4IHtcclxuICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNik7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb2xvci1ncmV5LWJvZHkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1ib2R5IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2stdXBkYXRlZC1saXN0IHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlICgxMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9mb250LXNpemU6IGVtKDEyKTsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDg1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgICAgICAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY2FuJ3QgZ2V0IGJyZWFrcG9pbnQgdG8gZG8gaW5iZXR3ZWVuIG1lZGlhIHF1ZXJpZXNcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0geGxhcmdlICkgeyA/Pz8gIG5vdCB3b3JraW5nXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZW0oNzY4KSkgYW5kIChtYXgtd2lkdGg6IGVtKDEyNzkpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDAgMTAwJSk7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vMjBweDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzY4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2hhcmUtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06LXdlYmtpdC10cmFuc2xhdGUoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKHRyYW5zZm9ybSwgdHJhbnNsYXRlKC01MCUpKTtcclxuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LWZsb3csIHJvdyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vNzdweDtcclxuICAgICAgICAgICAgICAgIC5zdG9jay1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAxIDMzLjMzMzMzJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc3RvY2std3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAwIDY2LjY2NjY2JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4ICggZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICA+IC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMCAzNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDA7ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gLnN0b2NrLWluZGV4IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZmxvYXQ6cmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IC5zdG9jay11cGRhdGVkLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDY1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0NnB4O1xyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXByaWNlID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSg1NSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEFubm91bmNlbWVudCBiYXJcclxuLmFubm91bmNlbWVudC1iYXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcCxcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDRweDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIFx0Y29sb3I6IzAwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLypcclxuICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIC4zcztcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBcdGNvbG9yOiNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICovXHJcbiAgICB9IFxyXG5cclxuICAgIC8qIGFkZCBvdmVycmlkZSB0byBwcmV2ZW50IG1hcmdpbiBidWZmZXIgKi9cclxuICAgIC53eXNpd3lnID4gLnd5c2l3eWctaW5uZXI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcbiAgICBcdGJvcmRlci1ib3R0b206IDEwcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNS41KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIFx0Y29udGVudDogJyc7XHJcbiAgICAgICAgICAgXHQgXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgXHQgXHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIFx0dG9wOjA7XHJcbiAgICAgICAgICAgIFx0bGVmdDotNTBweDtcclxuICAgICAgICAgICAgXHR3aWR0aDogMDtcclxuXHRcdFx0XHRoZWlnaHQ6IDA7XHJcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0XHRib3JkZXItd2lkdGg6IDAgMCA3MnB4IDU0cHg7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3ItZ3JlZW4gdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIFx0Ym90dG9tOjA7XHJcbiAgICAgICAgICAgIFx0cmlnaHQ6LTUycHg7XHJcbiAgICAgICAgICAgIFx0d2lkdGg6IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiA3MnB4IDU0cHggMCAwO1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZWVuIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdHJpcGVzLXdoaXRlKCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNnB4IGF1dG87XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEyMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb3BhY2l0eTouNzU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpza2V3WCgxNWRlZyk7XHJcblxyXG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOjEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaW52ZXN0b3ItY2VudHJlIHtcclxuICAgIC8vIGludmVzdG9yIGxpbmtzXHJcbiAgICAudGlsZS1saW5rcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVtYWluLXRpdGxlLXN0eWxlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgICAgICA+IGxpLFxyXG4gICAgICAgICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyAvL2VtKC42KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyAvLyRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjsgLy8kY29sb3ItZ3JlZW47IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHVsID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7ICAgICAgICAgICAgICAgIFx0XHJcbiAgICAgICAgICAgICAgICBcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgICAgICAgICAgICAgICB0b3A6NTAlO1xyXG5cdCAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcclxuXHQgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5sdCB7XHJcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucnQge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC01cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5Oi13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgtZmxvdywgcm93IHdyYXApO1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAwIDUwJSk7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMjJweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNHM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuXHRcdCAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG5cdFx0ICAgICAgICAgICAgICAgIFx0cG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRcdFx0ICAgICAgICAgICAgICAgIHRvcDphdXRvO1xyXG5cdFx0XHQgICAgICAgICAgICAgICAgdHJhbnNmb3JtOm5vbmU7XHJcblx0XHRcdCAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvdGlsZS10cmlhbmdsZS5zdmcpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeChiYWNrZ3JvdW5kLXNpemUsIDEwMCUgMTIwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAuOHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBcdCY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIFx0XHRjb2xvcjojZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIFx0fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLXRpbGVzLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjJweDsgLy8tMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsID4gbGkge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE5KTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyAvLzE0MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyAvLy0xMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgXHRtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMzIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubHQge1xyXG4gICAgICAgICAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgXHRcclxuICAgICAgICAgICAgXHQmOmJlZm9yZSwgJjphZnRlciB7ICAgICAgICAgICAgICAgICAgICBcdFxyXG4gICAgICAgICAgICAgICAgICAgIFx0Y29udGVudDonJztcclxuICAgICAgICAgICAgICAgICAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgICAgICAgICAgICAgICAgIFx0XHJcbiAgICAgICAgICAgICAgICAgICAgXHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBcdHdpZHRoOjFweDtcclxuICAgICAgICAgICAgICAgICAgICBcdGhlaWdodDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIFx0aGVpZ2h0OmNhbGMoMTAwJSAtIDVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgICAgICAgICAgXHR0b3A6MDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgXHRsZWZ0Oi0zMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICBcdHJpZ2h0Oi0xMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJ0IHtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgdWwgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICAgICAgICAgIGFydGljbGUge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVidC1pbnZlc3RvcnMge1xyXG4gICAgICAgIC53eXNpd3lnID4gZGl2XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlbWFpbi10aXRsZS1zdHlsZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbiggJGljb24tYXJyb3ctYmlnLXJpZ2h0LCAyMnB4LCAkY29sb3ItZ3JlZW4pO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JlZW4sIDUlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjYW4ndCBnZXQgYnJlYWtwb2ludCB0byBkbyBpbmJldHdlZW4gbWVkaWEgcXVlcmllc1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSB4bGFyZ2UgKSB7ID8/PyAgbm90IHdvcmtpbmdcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBlbSg0ODApKSBhbmQgKG1heC13aWR0aDogZW0oMTI3OSkpIHtcclxuICAgICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICBoMjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IC8vNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV3cy1saXN0IHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAvL21hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC45O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRhdGUtdGltZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAuaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgLmRhdGUtdGltZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY2FuJ3QgZ2V0IGJyZWFrcG9pbnQgdG8gZG8gaW5iZXR3ZWVuIG1lZGlhIHF1ZXJpZXNcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0geGxhcmdlICkgeyA/Pz8gIG5vdCB3b3JraW5nXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZW0oNzY4KSkgYW5kIChtYXgtd2lkdGg6IGVtKDEyNzkpKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6LXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC0xLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwZW07XHJcbiAgICAgICAgICAgICAgICA+IC5pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsMSAzMy4zMzMzJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IC8vNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgID4gLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgPiBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGllID4gMTAgYnVnIGZpeGVzIFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIC5mZWF0dXJlZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gaWUgPiAxMCBidWcgZml4ZXMgXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oNDgwKSkge1xyXG4gICAgLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYW5ub3VuY2VtZW50LWJhciBwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG4vLyBpZSA+IDEwIGJ1ZyBmaXhlcyBcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi13aWR0aDplbSg3NjgpKSBhbmQgKG1heC13aWR0aDplbSgxMjc5KSkge1xyXG4gICAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXgge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi8vIGllID4gMTAgYnVnIGZpeGVzIFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDEyODApKSB7XHJcbiAgICAuaW52ZXN0b3ItY2VudHJlIHtcclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICA+IC5zaGFyZS1wcm9tbyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLnRpbGUtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mZWF0dXJlZCAucm93IHtcclxuICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiYm9keS5jYXJlZXJzIHtcclxuICAgICNtYWlue1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXJcIjtcclxuXHJcbiAgICAgICAgLnRvLXRvcC1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgei1pbmRleDogMjA7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNlY3Rpb24ge1xyXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJlZXJzLXNlY3QtMSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cclxuICAgICAgICAgICAgLmNvbnRlbnQtc2VjdC0xIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0zMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNThweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLmNhcmVlcnMtc2VjdC0yIHtcclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKC9SZXNvdXJjZVBhY2thZ2VzL1dlc2Zhcm1lcnMvYXNzZXRzL2Rpc3QvaW1nL2NhcmVlcnMvc2VjdC0yLWJnLTEuanBnKSBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDkwMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjEwMjNweCkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlY3QtMi1tYWluLWltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3NTBweDtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDE0MzlweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRlc2t0b3AtdmlldyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZWN0LTItY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLmdsYXNzLWJnIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAucXVvdGUtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgvUmVzb3VyY2VQYWNrYWdlcy9XZXNmYXJtZXJzL2Fzc2V0cy9kaXN0L2ltZy9jYXJlZXJzL3F1b3RlLWljb24ucG5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC00NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy9lbmQtcXVvdGUtaWNvbi5wbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjEwMjNweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBFMEUwRTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmVlcnMtc2VjdC0zIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y4RjhGODtcclxuXHJcbiAgICAgICAgICAgIC5jYXJkIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZWVycy1zZWN0LTQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcblxyXG4gICAgICAgICAgICAudmlkZW8td3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAuYmctaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudmlkZW8tZGVzYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDMwcHggMzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmVlcnMtc2VjdC01IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNvbnRlbnQtc2VjdC01IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPmltZyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NiU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogNTBweDtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJlZXJzLXNlY3QtNiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyRDJGMkY7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4O1xyXG5cclxuICAgICAgICAgICAgLnRhbGVudC1zd2lwZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ3NEE0QTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzFCMUMxQztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGFiLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICAgICAgICAgICAgLy8gICAgIC50YWxlbnQtY29udGVudCB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAgIC5jYXJkIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC50YWxlbnQtbmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnRhbGVudC1pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC50YWxlbnQtbmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ExQTJBMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudGFsZW50LXBvc2l0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjc2ODY4O1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyAudGFsZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGJvdHRvbTogLTUwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IDQwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmVlcnMtc2VjdC03IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMDtcclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50LXNlY3QtNyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jYXJkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjc1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICMwNzlCM0E7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJlZXJzLXNlY3QtOCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMDtcclxuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPmltZyAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAzMHB4IDMwcHggMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC01MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NDhweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NiU7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZWVycy1zZWN0LTkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcblxyXG4gICAgICAgICAgICAuY2FyZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3NXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsMC41KTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMDc5QjNBO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZWVycy1zZWN0LTEwIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y4RjhGODtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwO1xyXG5cclxuICAgICAgICAgICAgLmJsb2ctc3dpcGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAuYmxvZy1zd2lwZXItYnV0dG9uLXByZXYsXHJcbiAgICAgICAgICAgICAgICAuYmxvZy1zd2lwZXItYnV0dG9uLW5leHRcclxuICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ibG9nLWJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01MXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL2NhcmVlcnMgZGV0YWlsc1xyXG4gICAgJi5jYXJlZXJzLWRldGFpbC1zdGlja3kge1xyXG5cclxuICAgICAgICBoZWFkZXIge1xyXG4gICAgICAgICAgICAuaGVybyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDMlO1xyXG5cclxuICAgICAgICAgICAgICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLm92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMzU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNCNEI1QjU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0I0QjVCNSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubWFpbi1pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTI3OXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDE0MzlweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTM0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTI3OXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5maXhlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXJcIjtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKC9SZXNvdXJjZVBhY2thZ2VzL1dlc2Zhcm1lcnMvYXNzZXRzL2Rpc3QvaW1nL2NhcmVlcnMvYXJyb3cucG5nKTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW4taW1nLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXV0aG9yLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAuYXV0aG9yLW5hbWUtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jYXJlZXJzLWRldGFpbC1mdWxsd2lkdGgtaW1nIHtcclxuICAgICAgICAuaGVybyB7XHJcbiAgICAgICAgICAgIC5tYWluLWltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzUwcHg7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZWVycy1kZXRhaWwtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsMC41KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzA3OUIzQTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNhcmVlcnMtZGV0YWlsLXRhYiB7XHJcbiAgICAgICAgLmhlcm8ge1xyXG4gICAgICAgICAgICAubWFpbi1pbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1MHB4O1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudC10YWJzLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAudGFiLW9wdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjN0U3RTdFO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwNzlCM0E7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMEYwRTBFO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgvUmVzb3VyY2VQYWNrYWdlcy9XZXNmYXJtZXJzL2Fzc2V0cy9kaXN0L2ltZy9jYXJlZXJzL2Fycm93LWhvdmVyLWJpZy5wbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRhYi1zd2lwZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudGFiIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGFiLWNvbnRlbnRzIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTUwcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0OSU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3NXB4IDUwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwIDAgMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLnRhYi1jb250ZW50LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL2dsb2JhbFxyXG4gICAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICMwNzlCM0E7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCA0MHB4IDEwcHggMTBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pclwiO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy9hcnJvdy5wbmcpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzlCM0E7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzA3OUIzQTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogdXJsKC9SZXNvdXJjZVBhY2thZ2VzL1dlc2Zhcm1lcnMvYXNzZXRzL2Rpc3QvaW1nL2NhcmVlcnMvYXJyb3ctaG92ZXIucG5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2ctdGlsZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTNweCAzMHB4IHJnYmEoMCwwLDAsMC4xNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmxvZy1pbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMCAwO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjgwcHg7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ibG9nLXRpbGUtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICB1bCBsaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzA3OUIzQTtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ibG9nLXRpbGUtYm90dG9tLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmF1dGhvci13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuYXV0aG9yLW5hbWUtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hdXRob3ItcG9zaXRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTQzOXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmJsb2ctdXJsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzA3OUIzQTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgvUmVzb3VyY2VQYWNrYWdlcy9XZXNmYXJtZXJzL2Fzc2V0cy9kaXN0L2ltZy9jYXJlZXJzL2Fycm93LnBuZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXJcIjtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCwgc3BhbiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExpZ2h0XCI7XHJcbiAgICB9XHJcblxyXG4gICAgLnZpZGVvLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG4gICAgICAgICYuc21hbGwge1xyXG4gICAgICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG5cclxuICAgICAgICAgICAgLnBsYXktYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wbGF5LWJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIC8qIHBhZGRpbmc6IDIwcHg7ICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yOCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycztcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi50YWJsZXQtdmlldyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzA3OUIzQSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDc5QjNBICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52aWRlby1kZXNjIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMCU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pclwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiYSgwLDAsMCwwLjgpLCB0cmFuc3BhcmVudCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCA1MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2Q4ZDhkODtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy92aWRlby1pbmZvLnBuZyk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmctaW1hZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dGhvci13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5hdXRob3ItaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4xNik7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXV0aG9yLW5hbWUtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICAgICAuYXV0aG9yLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmF1dGhvci1wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucG9pbnRlciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5hdC1zaGFyZS1idG4tZWxlbWVudHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYXQtc2hhcmUtYnRuIHtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VCRUJFQjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnJldmVhbC1vdmVybGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDp1cmwoL1Jlc291cmNlUGFja2FnZXMvV2VzZmFybWVycy9hc3NldHMvZGlzdC9pbWcvY2FyZWVycy9jbG9zZS1pY29uLnBuZyk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICByaWdodDogNTBweDtcclxuICAgICAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmVhbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNDc5cHgpIHtcclxuICAgICAgICAgICAgdG9wOiAxMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IDNlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAjOGE4YThhICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnN1YnRpdGxlIHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG5cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudy0xMDAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuc2hhcmUtYnV0dG9uLXdyYXBwZXIge1xyXG5cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaGFyZS1idXR0b24td3JhcHBlci1tb2JpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtY2VudGVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtYm9sZCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIEJvbGRcIiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWxpZ2h0IHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTGlnaHRcIiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kLWZsZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZsZXgtY29sdW1uIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGlnbi1pdGVtcy1iYXNlIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZsZXgtY29sdW1uLW1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9yZGVyLTEge1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5vcmRlci0yIHtcclxuICAgICAgICBvcmRlcjogMjtcclxuICAgIH1cclxuXHJcbiAgICAuanVzdGlmeS1jZW50ZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGlnbi1pdGVtcy1jZW50ZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmp1c3RpZnktYmV0d2VlbiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5kLWJsb2NrIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAubXItbm9uZS1tb2JpbGUge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXItMTAge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXItMjAge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubWItMTAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1iLTEwLW1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1iLTIwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYi0zMCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAubWItNDAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1iLTUwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tdC0xMCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXQtMjAge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm10LTMwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wdC0zMCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtd2hpdGUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWdyZWVuIHtcclxuICAgICAgICBjb2xvcjogIzA3OUIzQTtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC11cHBlcmNhc2Uge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjptYXJrZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDc5QjNBO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC51c2VmdWwtcGFnZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAvL3N3aXBlclxyXG5cclxuICAgIC8vc3dpcGVyIHBhZ2luYXRpb25cclxuICAgIC5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsIC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sIC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XHJcbiAgICAgICAgYm90dG9tOiAyM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAvL3N3aXBlciBidWxsZXRcclxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgIGNvbG9yOiAjMDc5QjNBICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gICAgICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDc5QjNBICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iLCIjY2FyZWVycy1jb3Jwb3JhdGUge1xyXG4gICAgLmdyZXktcGFuZWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk1O1xyXG4gICAgICAgID4gLmxhcmdlLWNvbGxhcHNlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5xdW90ZS1pbnRybyB7XHJcbiAgICBtYXJnaW46IDAgYXV0bzsgXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgXHJcbn1cclxuXHJcbi5jYXJlZXItcGFuZWxzIHtcclxuICAgIC5hcnJvdy1saW5rLXJpZ2h0IHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguMyk7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMjBweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciwgXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIC5hcnJvdy1saW5rLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJlZXItcGFuZWxzIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAuY2FyZWVyLXBhbmVsIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGEgPiAudGl0bGUgPiBoMiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIC5jYXJlZXItcGFuZWxzIHtcclxuICAgICAgICAuY2FyZWVyLXBhbmVsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgYSA+IC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiAuYXJyb3ctbGluay1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAuY2FyZWVyLXBhbmVscyB7XHJcbiAgICAgICAgLmNhcmVlci1wYW5lbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgYSA+IC50aXRsZSB7IFxyXG4gICAgICAgICAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzZweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gLmFycm93LWxpbmstcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAuY2FyZWVyLXBhbmVscyB7XHJcbiAgICAgICAgLmNhcmVlci1wYW5lbCB7XHJcbiAgICAgICAgICAgIGEgPiAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQyJTtcclxuICAgICAgICAgICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMzYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiAuYXJyb3ctbGluay1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgIC5jYXJlZXItcGFuZWxzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLm1haW4gLmNhcmVlcnMgLmNvbHVtbnMge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn0gXHJcblxyXG4uY2FyZWVycyArIC5ncmV5LXBhbmVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5jYXJlZXJzLXBhbmVsIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcclxufVxyXG5cclxuLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAvLyBtYXJnaW4tYm90dG9tOiA0MHB4OyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IGVtKDUwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIGgyOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIGgzLFxyXG4gICAgaDQsXHJcbiAgICBoNSxcclxuICAgIGg2IHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICB9XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgei1pbmRleDogMjAwO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9zdHJva2Utc3ZnLnN2Zykgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ZW0oNzY4KSkge1xyXG5cdC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCB7XHJcblx0ICAgIC5yb3c6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKDEwMjRweCkpIHtcclxuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfSBcclxuXHJcbiAgICBhcnRpY2xlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuXHQuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWwge1xyXG5cdCAgICBoMjpmaXJzdC1vZi10eXBlIHtcclxuXHQgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcblx0ICAgIH1cclxuICAgIH1cclxufSIsIi8vIFBhZ2VzIHdpdGggaGFsZiBpbWFnZSBhbmQgaGFsZiB0ZXh0IGluIGEgbGlzdCAoc2VlIGxlYWRlcnNoaXAgcGFnZSlcclxuLmxpc3QtaW1hZ2UtY29weSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2LjI1ZW07XHJcbiAgfVxyXG4gIC5wYW5lbCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDQwcHggYXV0bztcclxuICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWZsb3c6IHJvdztcclxuICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLzMuMTI1ZW07XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgLy8zLjEyNWVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW46IDQwcHggMy4xMjVlbTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgPiBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgIC8vIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleDogMSAxIDUwJTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1ZW07XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvcHkge1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAxLjI1cmVtO1xyXG4gICAgICBmb250LXNpemU6IGVtKDE1LjUpO1xyXG4gICAgICBhLm1vcmUtbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIGgyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNvbG9yLWdyZXk2IDFweCBzb2xpZDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTkpO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAud3JhcHBlciB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luOiBpbml0aWFsO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgID4gLndyYXBwZXIge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNWVtO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByb2ZpbGUge1xyXG4gICYuZGV0YWlsIHtcclxuICAgIC5pbWFnZSB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDI1cHg7XHJcbiAgICAgIHdpZHRoOiAyMzVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gbGF5b3V0XHJcbi5vdXItYnVzaW5lc3NlcyB7XHJcblxyXG4gICAgLnBhZ2UtaW50cm8gPiAud3lzaXd5ZyB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7IFxyXG4gICAgICAgIC5yb3ctZ3JvdXAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggLTEwcHggMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyBcclxuXHJcbiAgICAgICAgICAgID4gLnd5c2l3eWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIE1lZGl1bSc7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTsgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbigkaWNvbi1yaWdodC1vcGVuLCBlbSgxNyksICRjb2xvci1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgPiAucGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yb3ctaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLnBhbmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHsgXHJcbiAgICAgICAgLnBhZ2UtaW50cm8gPiAud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAud3JhcHBlciAucm93LWdyb3VwIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJvdy1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLnBhbmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IFxyXG4gICAgICAgIC5wYWdlLWludHJvID4gLnd5c2l3eWcge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLndyYXBwZXIgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjUlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgXHJcblxyXG4gICAgICAgICAgICAgICAgLnd5c2l3eWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yb3ctaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMsXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgaDMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7IFxyXG4gICAgICAgIC5yb3ctZ3JvdXAgLnd5c2l3eWcgeyBcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xyXG4gICAgICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyBcclxuXHJcbiAgICAgICAgICAgICAgICAud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMgeyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1NXB4IDU1cHggMCA1NXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgICAgICAgICAgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NiU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNi42NjY2JTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAud3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcbiAgICAgICAgLndyYXBwZXIgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHhsYXJnZSkge1xyXG4gICAgICAgIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG4gICAgICAgIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLm91ci1idXNpbmVzc2VzIHtcclxuICAgIGgzIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMzVweCAwIDU1cHggMDtcclxuICAgIH1cclxuICAgIC5wYW5lbCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfSBcclxuXHJcbiAgICAuZmVhdHVyZWQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oNDgwKSkgYW5kIChtYXgtd2lkdGg6ZW0oNzY3KSkge1xyXG4gICAgLm91ci1idXNpbmVzc2VzIHtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gaWUgPiAxMCBidWcgZml4ZXMgXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xyXG4gICAgLmZlYXR1cmVkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi13aWR0aDplbSg0ODApKSB7XHJcbiAgICAub3VyLWJ1c2luZXNzZXMge1xyXG4gICAgICAgIC5ncmlkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oMTI4MCkpIHtcclxuICAgIC5vdXItYnVzaW5lc3NlcyB7XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLnNoYXJlLXByb21vIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpbGUtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mZWF0dXJlZCAucm93IHtcclxuICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4iLCIub3VyLWRpdmlzaW9ucyB7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRhcnRpY2xlLnd5c2l3eWcge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fSBcclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuXHRcdGFydGljbGUud3lzaXd5ZyB7XHJcblx0XHQgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0ICBtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cclxuXHQucGFnZS1pbnRybyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0LmludHJvLXBhcmEge1xyXG5cdFx0cGFkZGluZzogMjBweCAwIDAgMDsgXHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZzogNTBweCAwIDAgMDtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdC8vcGFkZGluZzogNTBweCAxMDBweCAwIDEwMHB4O1xyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMCAwO1x0XHRcdFxyXG5cdFx0fSAqL1xyXG5cdH1cclxuXHJcblx0LmJpei1ncm91cCB7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Ym9yZGVyLXRvcDogMTJweCBzb2xpZCAkY29sb3ItZ3JleS13aGl0ZTtcclxuXHJcblx0XHQucGFuZWwge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDQwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogOTBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAvLyBlbmQ6IC5iaXotZ3JvdXAgXHJcblxyXG5cdC5iaXotaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdHBhZGRpbmc6IDEwcHggMCA0NXB4IDA7XHJcblxyXG5cdFx0aDMgeyBcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0fSBcclxuXHJcblx0XHRwIHsgXHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDsgXHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMjVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmJpei1sb2dvIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5MztcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0OyBcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTQpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgXHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDI1cHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBlbSgxMik7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24tYXJyb3ctYmlnLXJpZ2h0LCBlbSgyMCksICRjb2xvci1ncmVlbik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXHJcblx0XHRcdFx0XHRAaW5jbHVkZSB3Zi1pY29uKCRpY29uLWFycm93LWJpZy1yaWdodCwgZW0oMTgpLCAkY29sb3ItZ3JlZW4pO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciwgXHJcblx0XHRcdCY6YWN0aXZlIHsgXHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IFxyXG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAvLyBlbmQ6IGJpei1pdGVtIFxyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOmVtKDEwMjMpKSB7XHJcblx0ICAgIC5pbnRyby1wYXJhIHtcclxuXHQgICAgICAgIHBhZGRpbmc6IDUwcHggMCAwIDA7XHJcblx0ICAgIH1cclxuXHR9XHJcblxyXG59IC8vIGVuZDogLm91ci1kaXZpc2lvbiIsIi5hc3gtYW5ub3VuY2Uge1xyXG4gICAgLnBhZ2UtaW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hc3gtaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAgNTAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFzeC1yZXN1bHRzIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC5kYXRlLWdyb3VwIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRhdGUtZ3JvdXAgbGkgPiBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogZW0oMzVweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGF0ZS1ncm91cCBsaSA+IGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggN3B4O1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4OyBcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCA3cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZGlyZWN0aW9uLWFycm93ICgxNCwgJGNvbG9yLWdyZXktYm9keSk7IFxyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246MC41cyBhbGw7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjowLjVzIGFsbDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjowLjVzIGFsbDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIgeyBcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIsIFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1wYW5lIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LW5hdjtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS1uYXY7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktbmF2O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBlbSg0ODBweCkpIFxyXG4gICAge1xyXG4gICAgICAuZHJvcGRvd24tcGFuZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxufSAvLyBlbmQ6IC5hc3gtYW5ub3VuY2VcclxuXHRcclxuXHJcblxyXG5cclxuIiwiYXJ0aWNsZSB7XHJcblxyXG5cdC5saXN0LWxpbmtzIHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRtYXJnaW46IDAgMCAzMHB4IDA7XHJcblx0XHQ+IGxpIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwYWRkaW5nOiA4cHggMDtcclxuXHRcdFx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOmVtKDEzKTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRjb2xvcjojMDAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5hcnRpY2xlID4gLmxpc3QtbGlua3M6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7XHJcbn1cclxuYXJ0aWNsZSA+IC5hY2NvcmRpb24gLmxpc3QtbGlzdCB7XHJcblx0JjpsaXN0LWxpbmtzIHtcclxuXHRcdGJvcmRlci10b3A6bm9uZTtcclxuXHR9XHJcbn0iLCIuY29udGFjdCB7XHJcblx0PiAucm93IHtcclxuXHRcdHBhZGRpbmctdG9wOiAzNXB4OyBcclxuXHR9XHJcblxyXG5cdC5ocS1kZXRhaWxzIHtcclxuXHRcdC8vIGFydGljbGUsIGRpdiB7XHJcblx0XHQvLyBcdHBhZGRpbmc6MDtcclxuXHRcdC8vIFx0bWFyZ2luOjA7XHJcblx0XHQvLyB9XHJcblx0XHRcclxuXHRcdHAge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS42ZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40NWVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDVlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS42ZW07XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnJvdyAuY29sdW1uIC53eXNpd3lnIHsgXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0XHQgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuXHRcdCAgICAgICAgcGFkZGluZy1yaWdodDogMDsgXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTAyNCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lnd5c2l3eWcge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDsgXHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVybyB7XHJcblx0XHRtYXJnaW46IDQ1cHggMCAwIDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHsgXHJcblx0XHRcdG1hcmdpbjogMjBweCAwIDAgMDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRtYXJnaW46IDQ1cHggMCAwIDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmp1bXAtbGluayB7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4OyBcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gMTRweCk7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiBlbSgyOCk7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSB3Zi1pY29uKCRpY29uLWFycm93LWJpZy1kb3duLCAxNCwgJGNvbG9yLWdyZWVuKTsgXHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IFxyXG5cdFx0XHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0XHRcdCY6Zm9jdXMsIFxyXG5cdFx0XHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHRcclxuXHR9XHJcblxyXG5cdC5zZW5kLW1lc3NhZ2Uge1xyXG5cdFx0ZmllbGRzZXQgPiBkaXYsXHJcblx0XHQuc2ZfY29sc0luID4gZGl2IHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTEpO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0aW5wdXQsIFxyXG5cdFx0c2VsZWN0IHsgXHJcblx0XHRcdGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuXHRcdFx0b3V0bGluZTogMDtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktYm9keTsgXHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRtYXJnaW46IDA7XHRcclxuXHJcblx0XHRcdCY6Zm9jdXMgXHJcblx0XHRcdHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZXk0OyBcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBwaW5rO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpub3QoOmZvY3VzKTppbnZhbGlkIHsgXHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHNlbGVjdCB7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7IFxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSB3Zi1pY29uKCRpY29uLWFycm93LWRvd24sIDE0LCAkY29sb3ItZ3JleTQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmVycm9yIHsgXHJcblx0XHRcdGNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG5cclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3Itb3JhbmdlOyBcclxuXHJcblx0XHRcdFx0Jjpub3QoOmZvY3VzKSB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLW9yYW5nZTsgXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgaW5wdXRbdHlwZT0nZGF0ZSddLCBpbnB1dFt0eXBlPSdkYXRldGltZSddLCBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBpbnB1dFt0eXBlPSdtb250aCddLCBpbnB1dFt0eXBlPSd3ZWVrJ10sIGlucHV0W3R5cGU9J2VtYWlsJ10sIGlucHV0W3R5cGU9J251bWJlciddLCBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgaW5wdXRbdHlwZT0ndGVsJ10sIGlucHV0W3R5cGU9J3RpbWUnXSwgaW5wdXRbdHlwZT0ndXJsJ10sIGlucHV0W3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0Ym94LXNoYWRvdzpub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRleHRhcmVhIHtcclxuXHRcdFx0bWluLWhlaWdodDogMzk1cHg7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRcdG1hcmdpbjogMDsgXHJcblx0XHRcdG1hcmdpbi10b3A6IDM1cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjNlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuYnRuLXN1Ym1pdCB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQudG5jIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxNCk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ1ZW07XHJcblx0XHRcdHBhZGRpbmc6IDM1cHggMDsgXHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0XHQmOmhvdmVyLCBcclxuXHRcdFx0XHQmOmZvY3VzIHtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7IFxyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7IFxyXG5cclxuXHRcdFx0XHR+c3BhbiB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMzVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0fnNwYW46YmVmb3JlIHsgXHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAuOWVtOyBcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24taWNvbi1jaGVja2JveCwgZW0oMjUpLCAkY29sb3ItZ3JleTMpOyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB7IFxyXG5cdFx0XHRcdH5zcGFuOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAuOWVtO1xyXG5cdFx0XHRcdFx0Y29udGVudDogJGljb24taWNvbi1jaGVja2JveC1zZWxlY3RlZDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idXNpbmVzcy1jb250YWN0IHtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcblx0XHRtYXJnaW4tdG9wOiAzNXB4O1xyXG5cdH1cclxuXHJcblx0LmNvbnRhY3QtaXRlbSB7XHJcblx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1x0XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE0KTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdC5jb2x1bW5zIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbiB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbi1jb250ZW50ID4gLnJvdyB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHR9XHJcblxyXG59IC8vIGVuZDogLmNvbnRhY3QiLCIuYWNjb3JkaW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1x0XHJcblx0Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O1xyXG5cdC5hY2NvcmRpb24taXRlbSB7XHRcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHRcdFx0XHJcblx0XHR9XHRcdFx0XHJcblx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7XHJcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1ncmV5NjtcclxuXHRcdFx0Y29sb3I6JGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0cGFkZGluZzo4cHggMDtcclxuXHRcdFx0bWFyZ2luOjA7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1x0XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcdFx0XHRcdFxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkaXJlY3Rpb24tYXJyb3cgKDE0LCAkY29sb3ItZ3JleTMpOyAgICAgICAgICAgICAgXHRcclxuXHQgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTBtcyBlYXNlLWluLW91dCk7XHJcblx0ICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybS1vcmlnaW4sIDUwJSAzNyUgMCk7XHJcblx0ICAgICAgICAgICAgbGluZS1oZWlnaHQ6MDtcdCAgXHJcblx0ICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgICAgICAgICAgXHJcblx0ICAgICAgICAgICAvLyBtaW4taGVpZ2h0OjEwMCU7XHJcblx0XHRcdH1cdFxyXG5cdFx0XHQ+IGgyLCA+IGgzIHtcdFx0XHRcdFxyXG5cdFx0XHRcdHBhZGRpbmc6MDtcclxuXHRcdFx0XHRtYXJnaW46MDtcclxuXHRcdFx0XHRmb250LWZhbWlseTonSGV1cmlzdGljYSc7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBlbSgyNCk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xyXG5cdFx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0PiBoMiwgPiBoMyB7XHJcblx0XHRcdFx0XHRjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHQgICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZXktYm9keTtcclxuXHQgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZSgxODBkZWcpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PiBoMiwgPiBoMyB7XHJcblx0XHRcdFx0XHRjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7IFxyXG5cdFx0XHRcclxuXHRcdFx0Lmxpc3QtY29sdW1ucyB7XHJcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTQpO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogNDkuNTU1NSU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAzMi4yMjIyJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAzMi4yMjIyJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tY29udGVudCB7IFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRmb250LXNpemU6IDEuMGVtO1x0XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4wZW07XHJcblx0XHR9XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRmb250LXNpemU6IDEuMGVtO1x0XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuXHQuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdD4gaDIsID4gaDMge1x0XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMjUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5AaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcblx0LmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHQ+IGgyLCA+IGgzIHtcdFxyXG5cdFx0XHRmb250LXNpemU6IGVtKDI2KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuIiwiLm5ld3MtbWVkaWEge1xyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgJi50ZXh0LW9ubHksXHJcbiAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgPiBhOmhvdmVyLFxyXG4gICAgICAgICAgICBhOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICA+IGgyLFxyXG4gICAgICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC0uMDUpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvcHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6MTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhbmVsLnRvcC1sZXZlbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgID4gaDIsXHJcbiAgICAgICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhbmVsLnR3aXR0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50d2l0dGVyLXBhbmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgLy90b3A6MTAwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAuZGF0ZS10aW1lIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIE1lZGl1bSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAubmV3cy1tZWRpYSB7XHJcbiAgICAgICAgLmxhcmdlLWV4cGFuZCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcclxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhbmVsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwOyAvLzIwcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgPiBoMixcclxuICAgICAgICAgICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudG9wLWxldmVsIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudHdpdHRlciB7XHJcbiAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAudHdpdHRlci1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29weSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAubmV3cy1tZWRpYSB7XHJcbiAgICAgICAgLmxhcmdlLWV4cGFuZCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxleDogMSAxIDMzLjMzMzMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgICAgICAgICA+IGgyLFxyXG4gICAgICAgICAgICAgICAgPiBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAubmV3cy1tZWRpYSB7XHJcbiAgICAgICAgLnBhbmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxuICAgICAgICAgICAgJi50ZXh0LW9ubHksXHJcbiAgICAgICAgICAgICYudHdpdHRlciB7XHJcbiAgICAgICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vMzcuNyU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYudHdpdHRlciB7XHJcbiAgICAgICAgICAgICAgICAudHdpdHRlci1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgLm5ld3MtbWVkaWEge1xyXG4gICAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNjBweDtcclxuICAgICAgICAgICAgICAgID4gaDIsXHJcbiAgICAgICAgICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICAmLnRleHQtb25seSxcclxuICAgICAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnR3aXR0ZXIgLnR3aXR0ZXItcGFuZWwgcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgLm5ld3MtbWVkaWEge1xyXG4gICAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxOTBweDtcclxuICAgICAgICAgICAgICAgID4gaDIsXHJcbiAgICAgICAgICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI4KTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjlweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAmLnR3aXR0ZXIgLnR3aXR0ZXItcGFuZWwgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDplbSg0ODApKSB7XHJcbiAgICAubGFyZ2UtZXhwYW5kIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAucGFuZWwgPiBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSg3NjgpKSBhbmQgKG1heC13aWR0aDplbSgxMDIzKSkge1xyXG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnRpdGxlIHtcclxuICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICAgIC5uZXdzLW1lZGlhIHtcclxuICAgIFx0LnBhbmVsLnR3aXR0ZXIge1xyXG4gICAgXHRcdC50aXRsZSB7XHJcblx0XHQgICAgXHQvL21pbi1oZWlnaHQ6IGF1dG87XHJcblx0XHQgICAgXHQ+IGgyIHsgICAgXHRcdFxyXG5cdFx0ICAgIFx0XHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdCAgICBcdFx0Ym90dG9tOmF1dG87XHJcblx0XHQgICAgXHR9XHJcblx0XHQgICAgfVxyXG5cdFx0ICAgIC50d2l0dGVyLXBhbmVsIHtcclxuXHRcdCAgICAgICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHQgICAgICAgIFx0dG9wOjgwcHg7XHJcblx0XHQgICAgICAgID4gcCB7XHJcblx0XHQgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuXHRcdCAgICAgICAgfVxyXG5cdFx0ICAgIH1cclxuXHQgICAgXHQuaW1hZ2Uge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgICBcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIucXVvdGUtaW50cm8sXHJcbi5xdW90ZS1pbnRybyA+IHAge1xyXG4gICAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbi5xdW90ZS1pbnRybyB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICA+IHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IHNwYW46Zmlyc3Qtb2YtdHlwZSxcclxuICAgICAgICA+IHNwYW46bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjglLCAxNCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IHNwYW46bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG5cclxuICAgID4gYiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1heC13aWR0aDogOTgwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICA+IGI6YmVmb3JlIHsgXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSg1NXB4KTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNSUsIDIwJSk7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIwMUNcIjtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgID4gYjphZnRlciB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDFEXCI7XHJcbiAgICB9XHJcbiAgICA+IGNpdGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgxMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAucXVvdGUtaW50cm8ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgLnF1b3RlLWludHJvIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDIxKTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIC5xdW90ZS1pbnRybyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IGVtKDIyLjUpO1xyXG4gICAgICAgID4gY2l0ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgLnF1b3RlLWludHJvIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzApO1xyXG4gICAgICAgID4gcCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzVweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzAlLCAxNCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgLnF1b3RlLWludHJvIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzApO1xyXG4gICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTEwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMiUsIDE4JSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBjaXRlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBVc2UgZm9yIGFsbCBkYXRlIGxpc3QgcGFnZXNcclxuLmRhdGUtZ3JvdXAge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICBwYWRkaW5nOiA3cHggMCAzMHB4IDA7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcblxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xyXG5cclxuICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvL2lubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiBzbWFsbCxcclxuICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIC5kYXRlLWdyb3VwIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgLmV2ZW50LXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgLmRhdGUtZ3JvdXAge1xyXG4gICAgXHRoMyB7XHJcbiAgICBcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIFx0fVxyXG4gICAgXHR1bCB7XHJcblx0ICAgICAgICA+IGxpIHtcclxuXHQgICAgICAgICAgICA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0ICAgICAgICAgICAgfVxyXG5cdCAgICAgICAgfVxyXG5cdCAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAuZGF0ZS1ncm91cCB7XHJcbiAgICBcdGgzIHtcclxuICAgIFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgXHR9XHJcbiAgICBcdHVsIHtcclxuXHQgICAgICAgID4gbGkge1xyXG5cdCAgICAgICAgXHRmb250LXNpemU6IGVtKDIwKTtcclxuXHQgICAgICAgICAgICA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0ICAgICAgICAgICAgfVxyXG5cdCAgICAgICAgfVxyXG5cdCAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gRm9yIGV4YW1wbGUgb2YgdXNlIHNlZSBPdXIgQnVzaW5lc3MgcGFnZSBvciAgXHJcbi5yb3ctaW50cm8ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHAge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEZlYXR1cmUgcG9kcyBzZWUgcmVwb3J0cyBwYWdlXHJcbi5mZWF0dXJlLXBvZHMge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtYXJnaW46IDYwcHggMDsvLzIwcHg7XHJcblx0Ym9yZGVyLXRvcDoxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG5cclxuXHQ+IGgyLCA+IGgzIHtcdFx0XHJcblx0XHRAaW5jbHVkZSB3aWRnZXQtdGl0bGUoKTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzoyMHB4IDA7XHJcblx0fVxyXG5cclxuXHQ+IGgyIHsgXHJcblx0XHRmb250LWZhbWlseTogXCJTdG9semwgVzAwIExpZ2h0XCI7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR9XHJcblx0XHJcblx0PiAucm93IHtcclxuXHRcdG1heC13aWR0aDpub25lO1xyXG5cdH1cclxuXHQucGFuZWwgPiBhOmZpcnN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0LmZlYXR1cmUtcG9kcyB7XHJcblx0XHRtYXJnaW46IDYwcHggMCAwO1xyXG5cdH1cclxufVxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0LmZlYXR1cmUtcG9kcyB7XHJcblx0XHRtYXJnaW46IDYwcHggZW0oMTAwKSAwO1xyXG5cdH1cclxufVxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdC5mZWF0dXJlLXBvZHMge1xyXG5cdFx0Ly9tYXgtd2lkdGg6IDUwJTtcclxuXHRcdG1hcmdpbjogOTBweCBhdXRvIDA7XHJcblx0fVxyXG59IiwiLy8gVXNlIGZvciBhbGwgZGF0ZSBsaXN0IHBhZ2VzXHJcbi5rZXktZGF0ZXMge1xyXG5cclxuICAgIC5kYXRlLWdyb3VwIHsgXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYS5zZXQtaWNzIHsgXHJcbiAgICAgICAgXHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC5kYXRlLWdyb3VwIHtcclxuICAgICAgICAgICAgYS5zZXQtaWNzIHsgXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEwKTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIC5kYXRlLWdyb3VwIHtcclxuICAgICAgICAgICAgYS5zZXQtaWNzIHsgXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEwKTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAgICAgLmRhdGUtZ3JvdXAge1xyXG4gICAgICAgICAgICBhLnNldC1pY3MgeyBcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0gLy9lbmQ6IGtleS1kYXRlc1xyXG5cclxuXHJcbiIsIi5zdWJzY3JpYmUgeyBcclxuXHJcblx0LmludHJvIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzNXB4OyBcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcclxuXHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpbnB1dCB7IFxyXG5cdFx0Zm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7IFxyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHQmOmhvdmVyLCBcclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdlbWFpbCddIHtcclxuXHRcdHBhZGRpbmc6IDMwcHggMjBweDtcclxuXHR9IFxyXG5cclxuXHRpbnB1dDppbnZhbGlkIHtcclxuXHRcdGNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG5cdH1cclxuXHJcblx0aW5wdXQ6Zm9jdXM6aW52YWxpZCB7XHJcblx0XHRjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcblx0fVxyXG5cclxuXHRpbnB1dDpub3QoOmZvY3VzKTppbnZhbGlkIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHR9IFxyXG5cclxuXHQuYnRuLXN1Ym1pdCB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qIHN1cGVyIHNwZWNpZmljIG1lZGlhIHF1ZXJ5IHRvIGFkZCBwYWRkaW5nIHRvIGNvbnRlbnQgY29sdW1uIGluIGxhbmRzY2FwZSBtb2RlICovXHJcblx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogZW0oMTAyNHB4KSkgYW5kIChtYXgtd2lkdGg6IGVtKDEyNzlweCkpIHtcclxuXHRcdC5sYXJnZS1jb2xsYXBzZSAuY29sdW1ucyB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMy4xMjVyZW07XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtO1x0XHJcblx0XHR9XHJcblx0fVxyXG5cclxufSAvLyBlbmQ6IC5zdWJzY3JpYmUiLCIuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmctdG9wOiAzNXB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cdFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0fVx0XHJcblx0XHJcblx0c3VwLCBzdWIge1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxMik7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0fVxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJpZ2h0IHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdH1cclxuXHJcblx0Lm5vdGVzIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0XHQ+IHAge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE0KSAhaW1wb3J0YW50OyBcclxuXHRcdFx0bWFyZ2luOiA3cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbi1hbmM7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qIHN1cGVyIHNwZWNpZmljIG1lZGlhIHF1ZXJ5IHRvIGFkZCBwYWRkaW5nIHRvIGNvbnRlbnQgY29sdW1uIGluIGxhbmRzY2FwZSBtb2RlICovXHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSgxMDI0cHgpKSBhbmQgKG1heC13aWR0aDogZW0oMTI3OXB4KSkge1xyXG4gICAgICAgIC5sYXJnZS1jb2xsYXBzZSAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZWxhdGVkLWNvbnRlbnQge1xyXG4gICAgICAgIFx0cGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIFx0cGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblx0XHJcblx0Lnd5c2l3eWd7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE2KTtcclxuXHRcdH1cclxuXHQgfVxyXG59IC8vZW5kOiBkaXZpZGVuZCIsIi50aW1lbGluZS1wYW5lbCB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9iZy10b3AtbGVmdC5wbmcnKSBsZWZ0IHRvcCBuby1yZXBlYXQsICB1cmwoJy4uL2ltZy9iZy1idG0tcmlnaHQtMDEuc3ZnJykgYm90dG9tIHJpZ2h0IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0ICAgIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4jd2VzVGltZWxpbmUge1x0XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luOjAgYXV0bztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdC50aW1lbGluZSB7XHJcblxyXG5cdH1cclxuXHQvL3llYXIgYmxvY2tcclxuXHQueWVhciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nLXRvcDogMTQwcHg7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbjogMCAtMzBweDtcclxuXHRcdH1cclxuXHRcdC5taWRsaW5lIHsgXHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0d2lkdGg6IDZweDtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRsZWZ0OjUwJTtcclxuXHRcdFx0dG9wOjA7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci10aW1lbGluZS1zdHJva2U7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAtM3B4O1xyXG5cdFx0XHR6LWluZGV4OiAwO1xyXG5cdFx0fVxyXG5cdFx0LnlsYWJlbCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgyMyk7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi1mb290ZXItaG92ZXI7XHJcblx0XHRcdHdpZHRoOiAxMjBweDtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDgwJTtcclxuXHRcdFx0LW1vei1ib3JkZXItcmFkaXVzOiA4MCU7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDgwJTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gNjBweCk7XHJcblx0XHRcdHotaW5kZXg6IDU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBlbSgyMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5maXhlZCB7XHJcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHRcdHotaW5kZXg6IDU7XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmRheSB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHR3aWR0aDogMjUlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAzMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xyXG5cdFx0XHRcdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xyXG5cdFx0XHRcdFx0LW1vei1vcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0LWtodG1sLW9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHQtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5pbWFnZSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYudmlkZW8ge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tcGxheS5wbmcnKW5vLXJlcGVhdCAwIDA7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDQzcHg7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0MnB4O1xyXG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHRcdFx0XHRcdH1cdFxyXG5cdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5jb3B5IHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggMTVweCAzMHB4IDE1cHg7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHQudGFnLCAuZGF0ZSB7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiBlbSgxMSk7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuZGF0ZSB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAxNXB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aDIge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4IDAgMTBweCAwO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IGVtKDE4KTtcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLm5vLWltYWdlIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmYgdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1oaXN0b3J5LWJnLnBuZycpbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbTtcclxuXHRcdFx0XHRcdC5jb3B5IHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRoMiB7XHJcblx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA2MCU7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogNjBweCAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdC53cmFwcGVyIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0ei1pbmRleDogMztcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHRcdFx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0zMylcIjtcclxuXHRcdFx0XHRcdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMzKTtcclxuXHRcdFx0XHRcdFx0LW1vei1vcGFjaXR5OiAuMzM7XHJcblx0XHRcdFx0XHRcdC1raHRtbC1vcGFjaXR5OiAuMzM7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IC4zMztcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRyaWdodDogMTVweDtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1oaXN0b3J5LWFycm93LnBuZycpbm8tcmVwZWF0IDAgMDtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMzFweDtcclxuXHRcdFx0XHRcdFx0ei1pbmRleDogNDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5jZW50ZXItbGVmdCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDI1JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5jZW50ZXItcmlnaHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA1MCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0XHRcdC5taWRsaW5lIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLnNob3ctYWxsIHtcclxuXHRcdFx0LmRheSB7XHJcblx0XHRcdFx0Ji5jZW50ZXItbGVmdCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLmNlbnRlci1yaWdodCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4udGltZWxpbmUtZmlsdGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweCAwO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xyXG5cdFx0cGFkZGluZzogNTBweCAwO1xyXG5cdH1cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC8vIFx0cGFkZGluZzogNTBweCAwO1xyXG5cdC8vIFx0ZGlzcGxheTogYmxvY2s7XHJcblx0Ly8gfVxyXG5cdHNwYW4ge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTMpO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogOHB4O1xyXG5cdFx0fVx0XHRcdFxyXG5cdH1cclxuXHRhIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHRmb250LXNpemU6IGVtKDEzKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG5cdFx0Y29sb3I6ICRjb2xvci10aW1lbGluZS1maWx0ZXItZm9udDtcclxuXHRcdHBhZGRpbmc6IDAgMTVweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbjogMCAwIDAgNnB4O1xyXG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXRpbWVsaW5lLWZpbHRlcjtcclxuXHRcdCYuYWN0aXZlLCAmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1vbjtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci10aW1lbGluZS1maWx0ZXItb24tZm9udDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm1ibC10aW1lbGluZS1maWx0ZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4IDA7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTgwcHgpIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xyXG5cdFx0cGFkZGluZzogNTBweCAwO1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0c3BhbiB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxMyk7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHRcdFxyXG5cdH1cclxuXHRzZWxlY3Qge1xyXG5cdCAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0ICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuXHQgICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xyXG5cdCAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cdCAgICBib3JkZXI6IDA7XHJcblx0ICAgIHBhZGRpbmc6IDhweCAzMHB4IDEwcHggMTBweDtcclxuXHQgICAgbWFyZ2luOiAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdGNvbG9yOiAjMWQxZDFkO1xyXG5cdCAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7ICAgICAgICAgICAgLypSZW1vdmVzIGRlZmF1bHQgY2hyb21lIGFuZCBzYWZhcmkgc3R5bGUqL1xyXG5cdCAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7ICAgICAgICAgICAgIC8qIFJlbW92ZXMgRGVmYXVsdCBGaXJlZm94IHN0eWxlKi9cclxuXHQgICAgYmFja2dyb3VuZDogJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1vbiB1cmwoLi4vaW1nL2ljb25zL2ljb24tZGQtYXJyb3cucG5nKSBuby1yZXBlYXQ7ICAgICAgICAgIC8qQWRkcyBiYWNrZ3JvdW5kLWltYWdlKi9cclxuXHQgICAgYmFja2dyb3VuZC1zaXplOiAxM3B4IDhweDtcclxuXHQgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTZweCB0b3AgMTZweDsgICAgICAgICAgIC8qUG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UqL1xyXG5cdCAgICB0ZXh0LWluZGVudDogMC4wMXB4OyAgICAgICAgICAvKiBSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cclxuXHQgICAgdGV4dC1vdmVyZmxvdzogXCJcIjsgICAgICAgICAgICAgICAvKlJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xyXG5cdCAgICBoZWlnaHQ6IDQwcHg7XHJcblx0ICAgIG1pbi13aWR0aDogMDtcclxuXHRcdG1heC13aWR0aDogMzIwcHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdCAgICBmb250LXNpemU6IGVtKDE2KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTQpO1xyXG5cdFx0fVx0ICAgIFxyXG5cdCAgICAmOmZvY3VzIHtcclxuXHRcdFx0b3V0bGluZTogMDtcclxuXHQgICAgfVxyXG5cdH1cclxuXHRzZWxlY3Q6Oi1tcy1leHBhbmQgeyAvKmllMTEgZ2V0IHJpZCBvZiBkZWZhdWx0IGRkIGFycm93Ki9cclxuXHQgICAgZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuLnRpbWVsaW5lLWludHJvIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdG1heC13aWR0aDogNzUlO1xyXG5cdH1cdFxyXG5cdHAge1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxNyk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDI0KTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIubWVkaWEtZ2FsbGVyeSB7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0d2lkdGg6IDkwJTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcbi5nYWxsZXJ5LXdyYXBwZXIge1xyXG5cdGJvcmRlci10b3A6IHNvbGlkIDFweCAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0d2lkdGg6IGF1dG87XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRtYXJnaW46IDAgMTVweDtcclxuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDEwMjRweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdG1heC13aWR0aDogMTQ1MHB4O1xyXG5cdH1cclxuXHRoMiwgaDMge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRoMiB7XHJcblx0XHQmICsgaDMge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubWctZ3JpZCB7XHJcblx0ICAgIEBleHRlbmQgJXVsO1xyXG5cdCAgICBtYXJnaW46IDAgLTVweCAyMHB4IC01cHg7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdG1hcmdpbjogMCAwIDYwcHggMDtcclxuXHRcdH1cclxuXHQgICAgbGkge1xyXG4gICAgXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHQmOm50aC1jaGlsZCgybisxKSB7XHJcblx0XHRcdFx0Y2xlYXI6IGxlZnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRcdHdpZHRoOiAyMCU7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpIHtcclxuXHRcdFx0XHRjbGVhcjogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDVuKzEpIHtcclxuXHRcdFx0XHRcdGNsZWFyOiBsZWZ0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0bWFyZ2luOiAxNXB4IDVweCAwIDVweDtcclxuXHRcdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMzBweCAxNXB4IDAgMTVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmltYWdlIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0ei1pbmRleDogMztcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHRcdFx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xyXG5cdFx0XHRcdFx0XHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcblx0XHRcdFx0XHRcdC1tb3otb3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdFx0LWtodG1sLW9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdFx0XHQtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdFx0LW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdFx0LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ+IGltZyB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYudmlkZW8ge1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAzO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1NnB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNTZweDtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMjhweCk7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogY2FsYyg1MCUgLSAyOHB4KTtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLXZpZC1wbGF5LnBuZycpbm8tcmVwZWF0IDAgMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudGFnIHtcclxuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiBlbSgxMik7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMCAwIDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCYub2ctZXhwYW5kZWQge1xyXG5cdFx0XHRcdD4gYSB7XHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdHRvcDogYXV0bztcclxuXHRcdFx0XHRcdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRcdHdpZHRoOiAwO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxMnB4O1xyXG5cdFx0XHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAtMTJweCAwIDAgLTEycHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdC5pbWFnZSB7XHJcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTMzKVwiO1xyXG5cdFx0XHRcdFx0XHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMyk7XHJcblx0XHRcdFx0XHRcdFx0LW1vei1vcGFjaXR5OiAuMzM7XHJcblx0XHRcdFx0XHRcdFx0LWtodG1sLW9wYWNpdHk6IC4zMztcclxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAuMzM7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0PiBpbWcge1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTpzY2FsZSgxLjEpO1xyXG5cdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdCAgICB9XHRcdFxyXG5cdH1cclxufVxyXG5cclxuLm9nLWV4cGFuZGVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0YmFja2dyb3VuZDogJGNvbG9yLWdyZXktYm9keTtcclxuXHR0b3A6IGF1dG87XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5vZy1leHBhbmRlci1pbm5lciB7XHJcblx0cGFkZGluZzogNTBweCAyMHB4IDIwcHggMjBweDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHBhZGRpbmc6IDUwcHggMzBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5vZy1jbG9zZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAyNXB4O1xyXG5cdGhlaWdodDogMjVweDtcclxuXHR0b3A6IDE1cHg7XHJcblx0cmlnaHQ6IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdHRvcDogMjBweDtcclxuXHRcdHJpZ2h0OiAyMHB4O1xyXG5cdH1cclxuXHQmOmJlZm9yZSwgJjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjODg4O1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDE1MG1zIGVhc2UtaW4tb3V0KTtcclxuXHR9XHJcblx0JjphZnRlciB7XHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdH1cclxuXHQmOmhvdmVyIHtcclxuXHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5vZy1mdWxsaW1nLFxyXG4ub2ctZGV0YWlscyB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG59XHJcblxyXG4ub2ctZGV0YWlscyB7XHJcblx0cGFkZGluZzogMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0cGFkZGluZzogMCA0MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nOiAwIDgwcHg7XHJcblx0fVxyXG59XHJcblxyXG4ub2ctZnVsbGltZyB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGltZyB7XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDc1JTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG59XHJcbi5vZy1kZXRhaWxzIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRoMyB7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0Zm9udC1zaXplOiBlbSgzMCwgMTgpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IEhldXJpc3RpY2E7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDAgMTBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmc6IDQwcHggMCAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwIHtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZvbnQtc2l6ZTogZW0oMTgsIDE4KTtcclxuXHRmb250LWZhbWlseTogSGV1cmlzdGljYTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRcdCYuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5maWxlbmFtZSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTQsIDE4KTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IGVtKDE0LCAxOCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1heC13aWR0aDogNDklO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRhIHtcclxuXHRcdCYuZmlsZXNpemUge1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxNCwgMTgpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogZW0oMTQsIDE4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgZWFzZS1pbi1vdXQpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDQ5JTtcclxuXHRcdFx0fVxyXG5cdFx0ICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG5cdFx0ICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcblx0XHQgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHQgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ub2ctbG9hZGluZyB7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kOiAjZGRkO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjY2NjO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0LXdlYmtpdC1hbmltYXRpb246IGxvYWRlciAwLjVzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XHJcblx0LW1vei1hbmltYXRpb246IGxvYWRlciAwLjVzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XHJcblx0YW5pbWF0aW9uOiBsb2FkZXIgMC41cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdG1hcmdpbjogLTI1cHggMCAwIC0yNXB4O1xyXG5cdH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRlciB7XHJcblx0MCUgeyBiYWNrZ3JvdW5kOiAjZGRkOyB9XHJcblx0MzMlIHsgYmFja2dyb3VuZDogI2NjYzsgYm94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNjY2MsIC0xNXB4IDMwcHggMXB4ICNkZGQ7IH1cclxuXHQ2NiUgeyBiYWNrZ3JvdW5kOiAjY2NjOyBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2RkZCwgLTE1cHggMzBweCAxcHggI2NjYzsgfVxyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMgbG9hZGVyIHtcclxuXHQwJSB7IGJhY2tncm91bmQ6ICNkZGQ7IH1cclxuXHQzMyUgeyBiYWNrZ3JvdW5kOiAjY2NjOyBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2NjYywgLTE1cHggMzBweCAxcHggI2RkZDsgfVxyXG5cdDY2JSB7IGJhY2tncm91bmQ6ICNjY2M7IGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjZGRkLCAtMTVweCAzMHB4IDFweCAjY2NjOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbG9hZGVyIHtcclxuXHQwJSB7IGJhY2tncm91bmQ6ICNkZGQ7IH1cclxuXHQzMyUgeyBiYWNrZ3JvdW5kOiAjY2NjOyBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2NjYywgLTE1cHggMzBweCAxcHggI2RkZDsgfVxyXG5cdDY2JSB7IGJhY2tncm91bmQ6ICNjY2M7IGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjZGRkLCAtMTVweCAzMHB4IDFweCAjY2NjOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XHJcblxyXG5cdC8vIC5vZy1leHBhbmRlciBoMyB7IGZvbnQtc2l6ZTogMzJweDsgfVxyXG5cdC8vIC5vZy1leHBhbmRlciBwIHsgZm9udC1zaXplOiAxM3B4OyB9XHJcblx0Ly8gLm9nLWV4cGFuZGVyIGEgeyBmb250LXNpemU6IDEycHg7IH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XHJcblx0Lm9nLWRldGFpbHMgeyBmbG9hdDogbm9uZTsgd2lkdGg6IDEwMCU7IH1cclxufVxyXG4uZ2FsbGVyeS1maWx0ZXIge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdG1hcmdpbjogMjBweCBhdXRvIDMwcHggYXV0bztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHdpZHRoOiAzNTBweDtcclxuXHR9XHJcblx0LnRyaWdnZXIge1xyXG5cdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLWZvb3Rlci1ob3ZlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAyMnB4O1xyXG5cdFx0XHRyaWdodDogMjBweDtcclxuXHRcdFx0d2lkdGg6IDEycHg7XHJcblx0XHRcdGhlaWdodDogN3B4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWRkLWFycm93LXdoaXRlLnBuZycpbm8tcmVwZWF0IDAgMDtcclxuXHRcdFx0LW1vei10cmFuc2l0aW9uOjAuNXMgYWxsO1xyXG5cdFx0XHQtd2Via2l0LXRyYW5zaXRpb246MC41cyBhbGw7XHJcblx0XHRcdHRyYW5zaXRpb246MC41cyBhbGw7XHJcblx0XHR9XHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHQgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHQgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdCAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHQgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub3B0aW9ucyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDEwMCU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0ei1pbmRleDogNjtcclxuXHRcdEBleHRlbmQgJXVsO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1heC1oZWlnaHQ6IDA7XHJcblx0XHRvdmVyZmxvdy15OiBoaWRkZW47XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzOyBcclxuXHRcdC1tb3otdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7IFxyXG5cdFx0LW1zLXRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzOyBcclxuXHRcdC1vLXRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzOyBcclxuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzOyBcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRsaSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHRcdHBhZGRpbmc6IDAgMjBweDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZzogMCAyMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMCAtMjBweDtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0QGV4dGVuZCAldWw7XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgLTIwcHg7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgNDBweDtcclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiA2MDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiXHJcbmFydGljbGUge1xyXG4gICAgLnNwbGl0LWxpc3Qge1xyXG5cdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XHJcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7XHJcblx0XHR9XHJcbiAgICAgICAgLmxpc3QtY29weSB7XHJcbiAgICAgICAgXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0ICAgICAgICBcdHdpZHRoOiA1MCU7XHJcblx0ICAgICAgICBcdHBhZGRpbmc6IDEwcHggMjBweCAwIDA7XHJcblx0ICAgICAgICB9XHJcblx0ICAgICAgICBzcGFuLCBoNCB7XHJcblxyXG5cdCAgICAgICAgfVxyXG4gICAgICAgIFx0c3BhbiB7XHJcblxyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xyXG4gICAgICAgIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdCAgICAgICAgXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdCAgICAgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0ICAgICAgICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0ICAgICAgICBcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuXHRcdFx0XHR9XHJcblxyXG4gICAgICAgIFx0fVxyXG4gICAgICAgIFx0aDQge1xyXG4gICAgICAgIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICBcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHQgICAgICAgIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHQgICAgICAgIFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cdFx0XHRcdH1cclxuICAgICAgICBcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBcdH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdCAgICAgICAgXHR3aWR0aDogNTAlO1xyXG5cdCAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgIC8vICAgICAgPiAuZGF0ZS10aW1lIHtcclxuICAgLy8gICAgICAgICAgZmxleDogNTAlO1xyXG4gICAvLyAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgIC8vICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgIC8vICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblx0XHRcdC8vIGRpc3BsYXk6IC13ZWJraXQtZmxleDsgLyogU2FmYXJpICovXHJcblx0XHRcdC8vIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOyAvKiBTYWZhcmkgNi4xKyAqL1xyXG5cdFx0XHQvLyBkaXNwbGF5OiBmbGV4OyAgIFxyXG5cdFx0XHQvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgIC8vICAgICAgICAgID4gc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgIC8vICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgIC8vICAgICAgICAgICAgICBtaW4td2lkdGg6IGVtKDkwKTtcclxuICAgLy8gICAgICAgICAgfVxyXG4gICAvLyAgICAgIH1cclxuICAgLy8gICAgICA+IHVsIHtcclxuICAgLy8gICAgICAgICAgZmxleDogNTAlO1xyXG4gICAvLyAgICAgIH1cclxuICAgIH1cclxuXHQvLyAuc3BsaXQtbGlzdCB7XHJcblx0Ly8gXHRwYWRkaW5nLXRvcDogMjBweDtcclxuXHQvLyBcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0Ly8gXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyZjJmO1xyXG5cdC8vIFx0fVxyXG5cdC8vICAgICA+IC5kYXRlLXRpbWUge1xyXG5cdC8vICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG5cdC8vICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHQvLyAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0Ly8gICAgICAgICA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG5cdC8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdC8vICAgICAgICAgICAgIG1pbi13aWR0aDogZW0oOTApO1xyXG5cdC8vICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHQvLyAgICAgICAgIH1cclxuXHQvLyAgICAgICAgID4gc3BhbjpsYXN0LWNoaWxkIHtcclxuXHQvLyBcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdC8vICAgICAgICAgfVxyXG5cdC8vICAgICB9XHJcblx0Ly8gfVxyXG5cclxuXHJcblxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0Ly8gXHQuc3BsaXQtbGlzdCA+IC5kYXRlLXRpbWUge1xyXG5cdC8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Ly8gICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdC8vICAgICAgICAgPiBzcGFuOmZpcnN0LWNoaWxkIHtcclxuXHQvLyAgICAgICAgIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdC8vICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHQvLyAgICAgICAgIH1cclxuXHQvLyAgICAgICAgID4gc3BhbjpsYXN0LWNoaWxkIHtcclxuXHQvLyBcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdC8vICAgICAgICAgfVxyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0Ly8gICAgIC5zcGxpdC1saXN0IHtcclxuXHQvLyAgICAgICAgIC5saXN0LWNvcHkge1xyXG5cdC8vICAgICAgICAgXHR3aWR0aDogNTAlO1xyXG5cdC8vICAgICAgICAgXHRzcGFuIHtcclxuXHQvLyAgICAgICAgIFx0XHRmbG9hdDogbGVmdDtcclxuXHQvLyAgICAgICAgIFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG5cdC8vICAgICAgICAgXHR9XHJcblx0Ly8gICAgICAgICBcdGg0IHtcclxuXHQvLyAgICAgICAgIFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC8vICAgICAgICAgXHR9XHJcblx0Ly8gICAgICAgICB9XHJcblx0Ly8gICAgLy8gICAgICA+IC5kYXRlLXRpbWUge1xyXG5cdC8vICAgIC8vICAgICAgICAgIGZsZXg6IDUwJTtcclxuXHQvLyAgICAvLyAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcblx0Ly8gICAgLy8gICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuXHQvLyAgICAvLyAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdC8vIFx0XHRcdC8vIGRpc3BsYXk6IC13ZWJraXQtZmxleDsgLyogU2FmYXJpICovXHJcblx0Ly8gXHRcdFx0Ly8gLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7IC8qIFNhZmFyaSA2LjErICovXHJcblx0Ly8gXHRcdFx0Ly8gZGlzcGxheTogZmxleDsgICBcclxuXHQvLyBcdFx0XHQvLyBmbGV4LXdyYXA6IHdyYXA7XHJcblx0Ly8gICAgLy8gICAgICAgICAgPiBzcGFuOmZpcnN0LWNoaWxkIHtcclxuXHQvLyAgICAvLyAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdC8vICAgIC8vICAgICAgICAgICAgICBtaW4td2lkdGg6IGVtKDkwKTtcclxuXHQvLyAgICAvLyAgICAgICAgICB9XHJcblx0Ly8gICAgLy8gICAgICB9XHJcblx0Ly8gICAgLy8gICAgICA+IHVsIHtcclxuXHQvLyAgICAvLyAgICAgICAgICBmbGV4OiA1MCU7XHJcblx0Ly8gICAgLy8gICAgICB9XHJcblx0Ly8gICAgIH1cclxuXHQvLyB9XHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG5cdC8vICAgICAuc3BsaXQtbGlzdCB7XHJcblx0Ly8gICAgICAgICA+IC5kYXRlLXRpbWUge1xyXG5cdC8vIFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHQvLyAgICAgICAgIH1cclxuXHQvLyAgICAgfVxyXG5cdC8vIH1cclxuXHJcbn1cclxuLmFjY29yZGlvbiAuc3BsaXQtbGlzdCB7XHJcblx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdGJvcmRlci10b3A6bm9uZTtcclxuXHR9XHJcbn0iLCIuc2ZIaWdobGlnaHQge1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG5cdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5OyBcclxuXHRwYWRkaW5nOiAycHg7XHJcbn1cclxuXHJcbi5zZi1tZWRpYSB7XHJcblx0cGFkZGluZy1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5zZi1tZWRpYS1ib2R5IHtcclxuXHRmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcblx0Zm9udC1zaXplOiBlbSgxNCk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogNTBweDtcclxuXHRcdH1cdFxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5zZWFyY2gtaGVhZGVyIHtcclxuXHRwYWRkaW5nLXRvcDogNTBweDsgXHJcblx0cGFkZGluZy1ib3R0b206IDM1cHg7XHJcblx0ZW0ge1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljOyBcclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFwyMDFDXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFwyMDFEXCI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc2VhcmNoLWZvb3RlciB7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiB7IFxyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcblx0Zm9udC1zaXplOiBlbSgxNik7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDsgIFxyXG5cclxuXHQuY3VycmVudCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcblx0XHRjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7IFxyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDsgXHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhLCBcclxuXHRidXR0b24geyBcclxuXHRcdGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cGFkZGluZzogMTBweCAyNXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblx0fVxyXG59IFxyXG5cclxudWwucGFnaW5hdGlvbiB7XHJcblx0bGkgeyBcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTsgXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1uYXY7XHJcblx0XHR9IFxyXG5cdH1cclxufSIsIi5zZi1zb2NpYWwtc2hhcmUgeyBcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGVtKDI1cHgpOyBcdFxyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBcclxuXHRcdGxpbmUtaGVpZ2h0OiA4cHg7XHJcblx0XHRwYWRkaW5nOiA1cHg7IFxyXG5cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCNfX19wbHVzb25lXzAgeyBcclxuXHRcdG1heC13aWR0aDogNTVweDtcclxuXHRcdHdpZHRoOiA1NXB4O1xyXG5cdH1cclxufSIsIiNidHQgeyBcclxuXHRjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LW5hdjsgXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgcmlnaHQ6IDBweDtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICB3aWR0aDogNDVweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBcclxuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICBmb250LXNpemU6IDAuNmVtOyBcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogN3B4OyBcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgc3BhbiB7IFxyXG4gICAgXHRwYWRkaW5nOiA1cHggMCAzcHggMDtcclxuICAgIFx0bWFyZ2luOiAwO1xyXG4gICAgXHRkaXNwbGF5OiBibG9jaztcclxuICAgIFx0d2lkdGg6IDEwMCU7IFxyXG4gICAgXHQmOmFmdGVyIHtcclxuICBcdFx0XHRAaW5jbHVkZSB3Zi1pY29uKCRpY29uLXVwLW9wZW4tYmlnLCAyMCwgJGNvbG9yLWdyZXk2KTtcclxuICBcdFx0fVxyXG4gICAgfVxyXG59IiwiLy8gaHR0cDovL3BoaWxpcHdhbHRvbi5jb20vYXJ0aWNsZXMvbm9ybWFsaXppbmctY3Jvc3MtYnJvd3Nlci1mbGV4Ym94LWJ1Z3MvXHJcbi8vIEV4dGVuYWJsZSBzdHlsZXNcclxuLnN1c3RhaW5hYmlsaXR5LWxpbmtzIGgyIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICBsaW5lLWhlaWdodDogLjk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgLy9lbSguNik7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uY29sdW1ucy5zdXN0YWluYWJpbGl0eS1wZXJmb3JtYW5jZSB7XHJcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4ICMwMGU4NjI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vLyBsYXlvdXRcclxuLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleC1mbG93LCByb3cgd3JhcCk7XHJcbiAgICAgICAgICAgID4gLnNoYXJlLXByb21vLFxyXG4gICAgICAgICAgICA+IC5kZWJ0LWludmVzdG9ycywgICAgICAgIFxyXG4gICAgICAgICAgICA+IC5uZXdzLWxpc3QgeyAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDEgMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAudGlsZS1saW5rcyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDEgNTAlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ncmlkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KGZsZXgtZmxvdywgcm93KTtcclxuICAgICAgICAgICAgPiAuc2hhcmUtcHJvbW8ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KGZsZXgsIDEgMjAlKTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLnRpbGUtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KGZsZXgsIDAgMzglKTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLmRlYnQtaW52ZXN0b3JzIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTglO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAubmV3cy1saXN0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMjg2cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1NXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4JTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQ2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggNTVweCAwIDU1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBpbnZlc3RvciBjZW50cmUgdGVtcGxhdGVcclxuI2ludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAjbWFpbiB7XHJcbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAucm93LFxyXG4gICAgICAgIC5pbnZlc3RvcnMgLnJvdyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogZW0oMTYwMCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgIH1cclxuICAgICNtYWluIC5pbnZlc3RvcnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vODBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAucGFnZS1pbnRybyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAvLyBzaGFyZSBwcmljZVxyXG4gICAgLnNoYXJlLXByb21vIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgIC5zdG9jay1wcmljZSA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogLjk7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBlbSguNik7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2hhcmUtcHJpY2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IC8vIDIwcHg7XHJcbiAgICAgICAgICAgIC5zdG9jay1wcmljZSA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2NXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2staW5kZXgge1xyXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI2KTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZXktYm9keSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb2xvci1ncmV5LWJvZHkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay11cGRhdGVkLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAldWw7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3aWRnZXQtdGl0bGUgKDEyKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogZW0oMTIpOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogODVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgICAgIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMi41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjYW4ndCBnZXQgYnJlYWtwb2ludCB0byBkbyBpbmJldHdlZW4gbWVkaWEgcXVlcmllc1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSB4bGFyZ2UgKSB7ID8/PyAgbm90IHdvcmtpbmdcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBlbSg3NjgpKSBhbmQgKG1heC13aWR0aDogZW0oMTI3OSkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMCAxMDAlKTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8yMHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzY4cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTotd2Via2l0LXRyYW5zbGF0ZSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAodHJhbnNmb3JtLCB0cmFuc2xhdGUoLTUwJSkpO1xyXG4gICAgICAgICAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgtZmxvdywgcm93KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgLy83N3B4O1xyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDEgMzMuMzMzMzMlKTtcclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC45O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zdG9jay13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDAgNjYuNjY2NjYlKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKCBmbGV4LWZsb3csIHJvdyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgID4gLnN0b2NrLWluZGV4IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAwIDM1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMDsgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiAuc3RvY2staW5kZXgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9mbG9hdDpyaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDowO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gLnN0b2NrLXVwZGF0ZWQtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgNjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLnNoYXJlLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQ2cHg7XHJcbiAgICAgICAgICAgICAgICAuc3RvY2stcHJpY2UgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDU1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4IHtcclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQW5ub3VuY2VtZW50IGJhclxyXG4uYW5ub3VuY2VtZW50LWJhciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwLFxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHggNHB4O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgXHRjb2xvcjojMDAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIHRyYW5zaXRpb246Y29sb3IgLjNzO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIFx0Y29sb3I6I2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgKi9cclxuICAgIH0gXHJcblxyXG4gICAgLyogYWRkIG92ZXJyaWRlIHRvIHByZXZlbnQgbWFyZ2luIGJ1ZmZlciAqL1xyXG4gICAgLnd5c2l3eWcgPiAud3lzaXd5Zy1pbm5lcjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgIFx0Ym9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE1LjUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgXHRjb250ZW50OiAnJztcclxuICAgICAgICAgICBcdCBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICBcdCBcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgXHR0b3A6MDtcclxuICAgICAgICAgICAgXHRsZWZ0Oi01MHB4O1xyXG4gICAgICAgICAgICBcdHdpZHRoOiAwO1xyXG5cdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMCAwIDcycHggNTRweDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvci1ncmVlbiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgXHRib3R0b206MDtcclxuICAgICAgICAgICAgXHRyaWdodDotNTJweDtcclxuICAgICAgICAgICAgXHR3aWR0aDogMDtcclxuXHRcdFx0XHRoZWlnaHQ6IDA7XHJcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0XHRib3JkZXItd2lkdGg6IDcycHggNTRweCAwIDA7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW4gdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN0cmlwZXMtd2hpdGUoKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTIwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvcGFjaXR5Oi43NTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnNrZXdYKDE1ZGVnKTtcclxuXHJcbiAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206MTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnZlc3Rvci1jZW50cmUge1xyXG4gICAgLy8gaW52ZXN0b3IgbGlua3NcclxuICAgIC50aWxlLWxpbmtzIHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVtYWluLXRpdGxlLXN0eWxlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICV1bDtcclxuXHJcbiAgICAgICAgICAgID4gbGksXHJcbiAgICAgICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7IC8vZW0oLjYpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDsgLy8kY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47IC8vJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICB1bCA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmx0IHtcclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYucnQge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC01cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LWZsb3csIHJvdyB3cmFwKTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDAgNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCAkaWNvbi1hcnJvdy1iaWctcmlnaHQsIDIycHgsICRjb2xvci1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90aWxlLXRyaWFuZ2xlLnN2Zykgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJhY2tncm91bmQtc2l6ZSwgMTAwJSAxMjBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIC44cyBlYXNlLWluLW91dCwgb3BhY2l0eSAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLXRpbGVzLWhvdmVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIycHg7IC8vLTEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wNTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyAvLzE0MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgLy8tMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVsID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmx0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYucnQge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgdWwgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTAyNCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAgICAgICAgIGFydGljbGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlbWFpbi10aXRsZS1zdHlsZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMjJweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1ncmVlbiwgNSUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNhbid0IGdldCBicmVha3BvaW50IHRvIGRvIGluYmV0d2VlbiBtZWRpYSBxdWVyaWVzXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHhsYXJnZSApIHsgPz8/ICBub3Qgd29ya2luZ1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKDQ4MCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMjc5KSkge1xyXG4gICAgICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGgyOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IC8vNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3MtbGlzdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGF0ZS10aW1lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIC5pdGVtIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLmRhdGUtdGltZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNhbid0IGdldCBicmVha3BvaW50IHRvIGRvIGluYmV0d2VlbiBtZWRpYSBxdWVyaWVzXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHhsYXJnZSApIHsgPz8/ICBub3Qgd29ya2luZ1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMjc5KSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC0xLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwZW07XHJcblxyXG4gICAgICAgICAgICAgICAgPiAuaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LDEgMzMuMzMzMyUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IC8vNTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgPiAuaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjJweDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgPiBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGllID4gMTAgYnVnIGZpeGVzIFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIC5mZWF0dXJlZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gaWUgPiAxMCBidWcgZml4ZXMgXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oNDgwKSkge1xyXG4gICAgLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYW5ub3VuY2VtZW50LWJhciBwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG4vLyBpZSA+IDEwIGJ1ZyBmaXhlcyBcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi13aWR0aDplbSg3NjgpKSBhbmQgKG1heC13aWR0aDplbSgxMjc5KSkge1xyXG4gICAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXgge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi8vIGllID4gMTAgYnVnIGZpeGVzIFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDEyODApKSB7XHJcbiAgICAuaW52ZXN0b3ItY2VudHJlIHtcclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICA+IC5zaGFyZS1wcm9tbyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLnRpbGUtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mZWF0dXJlZCAucm93IHtcclxuICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNmUGFnZUVkaXRvcnsgXHJcbiAgICAucmRUYWJsZXtcclxuICAgICAgICB0Ym9keSwgdGhlYWQsIHRmb290IHsgICAgICAgICAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5SYWREb2NrIC5yZENlbnRlciAucmRDb21tYW5kcyBsaXsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgYTpiZWZvcmUsIGE6YWZ0ZXIsICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bC5yZENvbW1hbmRzID4gbGkgPiBhXHJcbiAgICB7XHJcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICAucmVsYXRlZC1jb250ZW50IFxyXG4gICAgeyAgICAgICAgXHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHVsOmFmdGVyLFxyXG4gICAgICAgIHVsOmJlZm9yZXtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgLnNmUGFnZVdyYXBwZXJ7IFxyXG4gICAgICAgaGVhZGVye1xyXG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsOmFmdGVye1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuc2ZfY29sc0lue1xyXG4gICAgICAgICAgICAmLmFubm91bmNlbWVudC1iYXJ7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuY29sdW1ue1xyXG4gICAgICAgICAgICAgICAgLy9maXhlcyB0aGUgY29sdW1ucyBub3cgc2hvd2luZyBpbiBwbGFjZVxyXG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZvb3RlcntcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBKSVJBOiBXRVNGLTIwIFxyXG4vLyBBZGQgY3NzIGZpeCBmb3IgcG9wdXAgZGlhbG9ncyBpbiBTaXRlZmluaXR5IGVkaXRvciBtb2RlXHJcbi5SYWRXaW5kb3cgeyBcclxuICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDsgXHJcbiAgICBsZWZ0OiAwIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7IFxyXG4gICAgb3ZlcmZsb3c6IGF1dG87IFxyXG4gICAgPiB0YWJsZS5yd1RhYmxlIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Il19 */
